Android Firebase ReyclView适配器在活动启动时未显示
我有一个显示消息列表的Android Firebase ReyclView适配器在活动启动时未显示,android,firebase,firebase-realtime-database,android-recyclerview,Android,Firebase,Firebase Realtime Database,Android Recyclerview,我有一个显示消息列表的RecyclerView。活动启动时,Firebase数据库不会填充RecyclerView。但是,如果我单击“上一步”按钮或EditText,RecyclerView会正确显示所有项目。我已尝试使用notifyDataSetChanged方法手动更新它。我见过其他线程,但没有看到任何人有最终的解决方案 这是在启动过程中调用的代码 RecyclerView menu = (RecyclerView) findViewById(R.id.chat_view);
RecyclerView
。活动启动时,Firebase数据库不会填充RecyclerView
。但是,如果我单击“上一步”按钮或EditText
,RecyclerView
会正确显示所有项目。我已尝试使用notifyDataSetChanged
方法手动更新它。我见过其他线程,但没有看到任何人有最终的解决方案
这是在启动过程中调用的代码
RecyclerView menu = (RecyclerView) findViewById(R.id.chat_view);
LinearLayoutManager manager = new LinearLayoutManager(this);
manager.setReverseLayout(false);
menu.setAdapter(messageAdapter);
menu.setLayoutManager(manager);
messageAdapter.notifyDataSetChanged();`
这是因为您在设置布局管理器之前设置了适配器。您应该将这两行的顺序更改为:
menu.setLayoutManager(manager);
menu.setAdapter(messageAdapter);
您需要使用
messageAdapter.notifyDataSetChanged()代码>在indide内部,firebase请求不在其外部,因为它是异步的,所以firebase在完成之前不会阻止主线程在将适配器设置为回收器视图之前,必须设置布局管理器。