【发布时间】:2017-07-12 09:05:50
【问题描述】:
我有一个 DialogFragment,想将 Firebase 数据库中特定位置的数据存储在 ArrayList(变量 arrList)中。我在 onStart() 方法中设置了一个值事件侦听器并以 DataSnaphsot 的形式接收数据(我不想使用 REST):
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data : dataSnapshot.getChildren()){
Log.d("onDataChange", data.getValue().toString());
arrList.add(data.getValue().toString());
}
}
Log.d("onStart", arrList.toString());
我还有两个 Log.d 应该打印 ArrayList 的内容:
onStart() 中的一个(见上文) 一个在 onDetach()
@Override
public void onDetach() {
super.onDetach();
Log.d("onDetach", arrList.toString());
}
结果:
D/onStart: []
D/onDataChange: name
D/onDataChange: surname
...
D/onDetach: [name, surname, ...]
如何填充 ArrayList 以便在 onStart() 中可用?
【问题讨论】:
标签: android firebase firebase-realtime-database