2017-12-29 14 views
-2

FirebaseRecyclerAdapterを使用してAndroidアプリケーションにデータベース情報を表示しようとしていますが、populateViewHolderメソッドが必要な場所では、2つのポップアップが表示されています。下記のコードは次のとおりです。これらの2をFirebaseReccylerAdapater使用した後、従来のように期待されていなかったonBindViewHolderFirebaseベースのRecyclerAdapter - populateViewHolderはどこですか?

FirebaseRecyclerAdapter<NoteModel, NoteViewHolder> firebaseRecyclerAdapter = 
      new FirebaseRecyclerAdapter<NoteModel, NoteViewHolder>(

        NoteModel.class, 
        R.layout.single_note_layout, 
        NoteViewHolder.class, 
        fNotesDatabase 

      ) { 
       @Override 
       public NoteViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
        return null; 
       } 

       @Override 
       protected void onBindViewHolder(@NonNull NoteViewHolder holder, int position, @NonNull NoteModel model) { 

       } 
      }; 

} 

公共NoteViewHolderと保護ボイドは登場していません。私は期待していた:

protected void populateViewHolder (NoteViewHolder viewHolder, NoteModel model, int position) { 
} 

これはもはや利用できないアイデアは誰か?私は前にこのように見たことがないので、コードを完成させる方法についてはわかりません。私は追加するには....

String noteId = getRef(position).getKey(); 

を必要とする....しかし、私はどこか分かりません。

ありがとうございます。

答えて

1

FirebaseUI migration guideは、開始するのに適しています。基本的には、次のようなことをしたいと考えています:

FirebaseRecyclerOptions<NoteModel> options = new FirebaseRecyclerOptions.Builder<>() 
     .setQuery(fNotesDatabase, NoteModel.class) 
     .build(); 

FirebaseRecyclerAdapter<NoteModel, NoteViewHolder> firebaseRecyclerAdapter = 
     new FirebaseRecyclerAdapter<NoteModel, NoteViewHolder>(options) { 
      @Override 
      public NoteViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
       return new NoteViewHolder(LayoutInflater.from(parent.getContext()) 
         .inflate(R.layout.single_note_layout, parent, false)); 
      } 

      @Override 
      protected void onBindViewHolder(@NonNull NoteViewHolder holder, 
              int position, 
              @NonNull NoteModel model) { 
       String key = getSnapshots().getSnapshot(position).getKey(); 
       holder.bind(...); 
      } 
     }; 
関連する問題