私はこのようになり、簡単なFirebaseデータベース持っている:私はRecyclerView
にこのすべての名前を表示したいAndroidのRecyclerViewでFirebaseノードのすべての子を表示するにはどうすればいいですか?
を。これはonCreate
方法から私のコードです:
databaseReference = FirebaseDatabase.getInstance().getReference().child("Names");
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
adapter = new RoomFirebaseAdapter(databaseReference, this);
recyclerView.setAdapter(adapter);
私はextends RecyclerView.Adapter<CustomFirebaseAdapter.ViewHolder>
CustomFirebaseAdapter
をも作成しました。私RecyclerView
で
@Override
public void onBindViewHolder(final RoomFirebaseAdapter.ViewHolder holder, int position) {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
name = ds.getKey();
holder.textView.setText(name);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
問題があり、それが唯一の最後の項目をdisplyedされています。ここに私のonBindViewHolder
方法です。 RecyclerView
のすべてのアイテムを表示するにはどうすればよいですか?
ありがとうございます!
ありがとうございます。しかし、私が 'final String name = getItem(position);を実装しようとすると、' get getem(int) 'メソッドを解決できません。私に何ができる? –
それは何も返しません: 'names.get(position)'もし 'names'があなたの配列なら - 私は答えを更新しました –
これは動作しません。今私は '致命的な例外:主なjava.lang.IndexOutOfBoundsException:無効なインデックス0、サイズは0です'を得た。これは私の[CustomFirebaseAdapter](http://alexmamo.ro/RoomFirebaseAdapter.java)です。名前の代わりに、私は今部屋を持っています。どうして私にすべてのデータが届かないのか分かりませんか? –