2017-01-15 10 views
-1

Я сильно ценю вашей помощи, чтобы решить эту проблему, я был с в течение некоторого времени now.With простой структуры JSON данных следующим образом:сбои проблема на заселяющем Android Firebase RecyclerView адаптер

` "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; 
    } 
}` 

Класс MainActivity, который использует POJO является:

` //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); 

     } 

    } 
` 

ответ

3

Измените

new FirebaseRecyclerAdapter<List, MessageViewHolder>(List.class 

К

new FirebaseRecyclerAdapter<Message, MessageViewHolder>(Message.class 
+0

Спасибо за ваши ценный insight.The других проблем, хотя это от структуры моего JSON, мой JSON фактически должна быть создан в виде списка, как мои исследования showed.But я очень помог всем вам , –

 Смежные вопросы

  • Нет связанных вопросов^_^