我非常感谢帮助您解决我现在遇到的这个问题。使用简单的JSON
数据结构如下:
` "Message" : {
"Three" : "Cart",
"Two" : "WOOOOOH",
"one" : "wow"
},`
我打算获取获取此数据并在我的RecyclerView
中填充它。在使用它工作的字符串类时,代码如下:
`//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);
`
但是在使用POJO时,它会崩溃。 的 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;
}
}`
使用POJO的MainActivity类是:
` //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);
`
因此定义了MessageViewHolder:
` public static class MessageViewHolder extends RecyclerView.ViewHolder {
TextView messageTextView;
public MessageViewHolder(View view) {
super(view);
messageTextView = (TextView) view.findViewById(android.R.id.text1);
}
}
`
答案 0 :(得分:3)
更改
new FirebaseRecyclerAdapter<List, MessageViewHolder>(List.class
要
new FirebaseRecyclerAdapter<Message, MessageViewHolder>(Message.class