Firebase valueEventListener和RecyclerView适配器的notifyItemChanged在同一个活动

时间:2018-03-16 09:56:59

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

在尝试构建发短信的应用程序时,我添加了一个从onCreate()(... callFirebase()函数调用)的Firebase值事件监听器,在我意识到{{1}之前,所有这些对我来说都很好看我按下发送按钮时停止更新自身(..messageAdapter.notifyItemInserted(messageList.size() - 1))。一旦我在onCreate()中注释callFirebase()行,RecyclerView就会开始正常工作。请查看代码,让我知道我做错了。

RecyclerView

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您要为threadId方法中的onDataChange()变量分配值,并尝试在该方法之外使用它。只是将变量声明为全局并不能解决您的问题,因为onDataChange()方法具有异步行为,这意味着甚至在您尝试从数据库获取数据之前就会调用它。快速解决方法是仅在该方法中使用该变量,或者使用此 post 的答案的最后部分。我还建议您看到 video