Java 应用程序更新firebase实时数据库中的数据,但不';不要在recyclerview中显示任何内容

Java 应用程序更新firebase实时数据库中的数据,但不';不要在recyclerview中显示任何内容,java,android,firebase,android-studio,firebase-realtime-database,Java,Android,Firebase,Android Studio,Firebase Realtime Database,我正在尝试将数据添加到firbase实时数据库中,并在recyclerview上检索该数据。我成功地做到了这一点,但当我尝试从firebase检索数据时,它不会发生,即使当我尝试在logacat窗口打印数据时,我也成功地做到了这一点 MainActivity.java 回收器\u视图\u item.xml 我也有同样的问题。其原因是当firebase尚未从实时数据库中读取数据时,已生成RecycleView;而且它还没有任何数据。为了解决这个问题,当您确定firebase已读取数据时,您应该进

我正在尝试将数据添加到firbase实时数据库中,并在recyclerview上检索该数据。我成功地做到了这一点,但当我尝试从firebase检索数据时,它不会发生,即使当我尝试在logacat窗口打印数据时,我也成功地做到了这一点

MainActivity.java

回收器\u视图\u item.xml



我也有同样的问题。其原因是当firebase尚未从实时数据库中读取数据时,已生成RecycleView;而且它还没有任何数据。为了解决这个问题,当您确定firebase已读取数据时,您应该进行recyclerview。然后,将使用正确的数据生成recyclerview。

我也遇到了同样的问题。其原因是当firebase尚未从实时数据库中读取数据时,已生成RecycleView;而且它还没有任何数据。为了解决这个问题,当您确定firebase已读取数据时,您应该进行recyclerview。然后,将使用正确的数据创建recyclerview。

首先,我建议您不要通过适配器中的列表。在适配器中创建
setList
方法

如果您仍在适配器中传递
列表
,请尝试此操作

在第行
childadded
方法中替换此

  modelAdapter.notifyDataSetChanged();
用这两行

    modelAdapter = new mModelAdapter(this,mDataList); //this will recreate the adapter with new data
    mRecyclerView.setAdapter(modelAdapter); //Again set adapter to recyclerview

首先,我建议您不要通过适配器中的列表。在适配器中创建
setList
方法

如果您仍在适配器中传递
列表
,请尝试此操作

在第行
childadded
方法中替换此

  modelAdapter.notifyDataSetChanged();
用这两行

    modelAdapter = new mModelAdapter(this,mDataList); //this will recreate the adapter with new data
    mRecyclerView.setAdapter(modelAdapter); //Again set adapter to recyclerview

java内部类不能访问外部局部声明变量,所以您需要这样做

 public List<User> mDataList = new ArrayList<>();
public List mDataList=new ArrayList();


使用接口java内部类不能访问外部局部声明变量。所以您需要这样做

 public List<User> mDataList = new ArrayList<>();
public List mDataList=new ArrayList();


使用界面

此答案将为您提供更多帮助:设置适配器后应用程序崩溃此问题针对您的recyclerview,这是另一个问题。你为什么不勾选我的答案作为正确答案?问另一个关于你的recyclerview的问题。当我将文本设置到textView中时,我的问题就会出现,当我不传递任何文本时,它只会显示空的textviews holder.textView.settext(user.getName());holder.textView.setText(user.getAge());当我简单地省略这两条语句时,我会在我的recycler视图中获得epmty textviews,但当我添加这些行时,我会进入运行时错误。这个答案将帮助你更多:我设置适配器后应用程序崩溃这是你的recyclerview的问题,这是另一个问题。你为什么不勾选我的答案作为正确答案?问另一个关于你的recyclerview的问题。当我将文本设置到textView中时,我的问题就会出现,当我不传递任何文本时,它只会显示空的textviews holder.textView.settext(user.getName());holder.textView.setText(user.getAge());当我简单地省略这两条语句时,我在回收器视图中得到了epmty textviews,但当我添加这些行时,我进入了运行时错误。我认为问题不在于我设置适配器的时候,因为当我在adapter onBindViewholder方法中没有设置任何值时,它只会显示空的textview,而不是fire base上的数据。@ShivamSehrawat
notifyDataSetChanged
在更新了
mDataList
但未更新列表时起作用。这就是问题所在。我想问题不在于我设置适配器的时候,因为当我在adapter onBindViewholder方法中没有设置任何值时,它只会显示空的textview来代替fire base上的数据。@ShivamSehrawat
notifyDataSetChanged
mDataList
更新但您没有更新列表时起作用。这就是问题所在。
    modelAdapter = new mModelAdapter(this,mDataList); //this will recreate the adapter with new data
    mRecyclerView.setAdapter(modelAdapter); //Again set adapter to recyclerview
 public List<User> mDataList = new ArrayList<>();