【发布时间】:2017-01-19 21:06:23
【问题描述】:
在 OnDataChange() 中使用 takeModel 获取数据后,我想将它们放入 arraylist,它负责创建活动。
final String[] takeModel = null;
....
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int i=0;
int lenght = (int) dataSnapshot.getChildrenCount();
String[] takeModel = new String[lenght];
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
TvAtributes tvnowe = postSnapshot.getValue(TvAtributes.class);
takeModel[i]=tvnowe.getModel(); // taking data here
i++;
}
}
......
ArrayList<TvAtributes> tv_models = new ArrayList<>();
for(int i=0;i<android_version_names.length;i++){
TvAtributes tvModele = new TvAtributes();
tvModele.setModel(takeModel[i]); //this is crashing
tvModele.setImgaddres(image_urls[i]);
tv_models.add(tvModele);
我不知道该怎么做。 提前致谢
【问题讨论】:
-
你需要了解异步调用和多线程的概念...
-
另外你应该学习一些java的基础知识,比如变量的作用域......
-
问题是 ArrayList tv_models 正在等待 2 个数组,其中一个我在乞求中定义为私有最终,第二个我想从数据库中获取
标签: android arraylist firebase firebase-realtime-database