我正在从 Firebase
获取数据,但 RecyclerView
在首次启动时未显示该数据。当我再次打开 Activity 时,它会显示数据。
在我的主要 Activity 中-
databaseReference = FirebaseDatabase.getInstance().getReference("data").child("childdata");
recyclerView = (RecyclerView)findViewById(R.id.recyclerviews);
recyclerView.setHasFixedSize(true);
recyclerAdapter = new DisplayRecyclerAdapter(list,this);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(recyclerAdapter );
recyclerAdapter.notifyDataSetChanged();
loadRecyclerData();
}
private void loadRecyclerData() {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
String da = postSnapshot.getValue().toString();
list.add(da);
}
});
}
最佳答案
通知 onDataChange
内的适配器,因为您的列表正在那里更新
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot:dataSnapshot.getChildren()) {
String da = postSnapshot.getValue().toString();
list.add(da);
}
recyclerAdapter.notifyDataSetChanged();
}
)};
关于android - RecyclerView 首次启动时不会从 Firebase 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46926421/