很抱歉,如果问题看起来很愚蠢......我还在学习Java。我只是想知道,是否可以从MainActivity
类更新我的ListView来自不同的线程?我尝试在线程构造函数中传递我的活动上下文并获取ListView
的实例,如下所示:
ListView lv = (ListView)parentActivity.findViewById(R.id.listViewInXml);
然后我在线程执行完成后根据我的要求更新了这个ListView
。但问题是,每个线程在ListView
上获得不同的实例,并且每个线程都将项添加到0索引(它假定在每个线程的开头新创建了ListView
)。我希望每个线程完成其执行并在ListView
MainActivity
类的 MainActivity extends Activity {
onCreate (bundle icicle) {
getReferencetoListView();
int userId = 1;
while (true) {
// Execute a thread with userId
// Each thread takes some time to complete execution
userId++
}
}
}
Thread (userId =1)
Thread (userId =2)
Thread (userId =3)
.
.
.
and so on..
中添加一个结果。有什么建议吗?这是我正在尝试做的一个框架:
{{1}}
感谢您的帮助!
答案 0 :(得分:1)
我只是想知道,是否可以从不同的线程更新MainActivity类中的ListView?
没有。您无法在几个选择案例之外的后台线程中修改UI(例如,ProgressBar
)。这包含在the documentation。