【发布时间】:2021-06-17 15:24:32
【问题描述】:
我有以下活动需要通过 Firebase 实时数据库填充两个 ArrayList:
pickListener = pickQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot pickSnapshot : dataSnapshot.getChildren()) {
Picks pick = new Picks(pickSnapshot);
pickList.add(pick);
}
}
}
mListener = pickQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot pickSnapshot : dataSnapshot.getChildren()) {
Game game = new Game(pickSnapshot);
gameList.add(pick);
if (counter == dataSnapshot.getChildrenCount()) {
adapter = new GameAdapter(PicksheetActivity.this, gameList, pickList); <---- ISSUE HERE, PASSES NULL ARRAY!?
recyclerView.setAdapter(adapter);
}
}
}
}
所以上面的代码中发生或应该发生的事情是,当pickList 和gameList 被填充时,它才应该调用适配器来填充视图(项目列表)。
如何实现这一点,有没有办法在 Android 中放置一个完成处理程序,以便在填充一个列表时填充下一个列表,然后调用适配器?
【问题讨论】:
-
我看不出所提供的监听器之间有什么区别,你有
pickQuery.addValueEventListener被设置为两个不同的变量,但是同一个监听器
标签: java android firebase firebase-realtime-database android-recyclerview