android - RecyclerView 首次启动时不会从 Firebase 加载数据

标签 android firebase firebase-realtime-database android-recyclerview

我正在从 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/

相关文章:

android - 无法从 firebase 数据库中获取值

reactjs - Firebase 存储 "Permission denied"错误

ios - 如何通过其 uid 的 Swift Firebase 获取图像?

flutter - Stream Builder 在 Flutter 中的先前数据之上更新数据

java - Firebase - 为注册用户生成带有 child 的 child

android - 在 Android/obb/<package-name>/中找不到(扩展)obb 文件

Proguard 混淆后 Android 应用程序崩溃

Android 人脸检测仅适用于可绘制对象,不适用于 SD 卡中的图像

java - Android 中的海绵城堡

java - Android Studio - 尝试签署 facebook 或 google 时 Firebase 返回 null