I will strongly appreciate your help to solve this problem i have been having for sometime now.With a simple JSON
data structure as Follows:
` "Message" : {
"Three" : "Cart",
"Two" : "WOOOOOH",
"one" : "wow"
},`
I intend to fetch the fetch this data and populate it in my RecyclerView
.On using the string class it works,code is as follows:
`//Adapter
FirebaseRecyclerAdapter<String, MessageViewHolder> mFirebaseAdapter=
new FirebaseRecyclerAdapter<String, MessageViewHolder>(String.class,
R.layout.layout,
String.class,
myRef.child("Message")
) {
@Override
protected void populateViewHolder(MessageViewHolder viewHolder, String model, int position) {
viewHolder.messageTextView.setText(model);
}
};
recyclerView.setAdapter(mFirebaseAdapter);
`
But on using a POJO, it crashes. POJO(Message.java):
`public class Message {
private String one,Two,Three;
public Message(){
}
public Message(String one, String Two, String Three)
{
this.one=one;
this.Two=Two;
this.Three=Three;
}
public String getOne() {
return one;
}
public void setOne(String one) {
this.one = one;
}
public String getTwo() {
return Two;
}
public void setTwo(String Two) {
Two = Two;
}
public String getThree() {
return Three;
}
public void setThree(String Three) {
Three = Three;
}
}`
The MainActivity class that uses the POJO is:
` //Adapter
FirebaseRecyclerAdapter<List, MessageViewHolder> mFirebaseAdapter =
new FirebaseRecyclerAdapter<List, MessageViewHolder>(List.class,
R.layout.my_simple_list_item_1,
MessageViewHolder.class,
myRef.child("Users")
) {
@Override
protected void populateViewHolder(MessageViewHolder viewHolder, List model, int position) {
viewHolder.messageTextView.setText(model.toString());
}
};
recyclerView.setAdapter(mFirebaseAdapter);
`
The MessageViewHolder is defined thus:
` public static class MessageViewHolder extends RecyclerView.ViewHolder {
TextView messageTextView;
public MessageViewHolder(View view) {
super(view);
messageTextView = (TextView) view.findViewById(android.R.id.text1);
}
}
`
Change
new FirebaseRecyclerAdapter<List, MessageViewHolder>(List.class
To
new FirebaseRecyclerAdapter<Message, MessageViewHolder>(Message.class