我有一个在onCreate()
中启动的线程,该线程获取一些数据。
是否有可能在线程终止之前应该能够更新ListView
?
现在因为线程不是UI线程,所以它不能直接更新listview数组适配器。
有出路吗?
我在想,是否有可能从其主要UI线程上执行runnable的线程触发Handler
。
答案 0 :(得分:1)
不确定我是否完全理解了您的问题,但我相信有两种方法可以实现您的目标:
1-启动AsyncTask而不是线程。 AsyncTask的onPostExecute()
将run in the UI thread,这意味着你可以在那里做任何与UI相关的事情。您可以在onCreate()中启动AsyncTask,一旦完成,它会调用您的活动上的方法:
myAdapter.notifyDataSetChanged();
2-使用runOnUIThread()
答案 1 :(得分:0)
使用您的活动runOnUiThread(Runnable action)