【发布时间】:2017-01-17 10:13:26
【问题描述】:
我有一个简单的 Firebase 数据库,如下所示:
我想在RecyclerView 中显示所有这些名称。这是我来自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);
我还创建了一个CustomFirebaseAdapter,其中extends RecyclerView.Adapter<CustomFirebaseAdapter.ViewHolder>。这是我的onBindViewHolder 方法:
@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) {}
});
}
问题是,在我的RecyclerView 中只显示了最后一项。如何显示RecyclerView 中的所有项目?
提前致谢!
【问题讨论】:
标签: android firebase android-recyclerview firebase-realtime-database