0

我有一个开始的线程,onCreate()这个线程获取一些数据。是否有可能在线程终止之前应该能够更新ListView

现在由于线程不是 UI 线程,它不能直接更新 listview 数组适配器。

有出路吗?我在想是否有可能触发一个Handler从线程,其可运行在主 UI 线程上执行。

4

2 回答 2

1

不确定我是否完全理解您的问题,但我相信有两种方法可以实现您想要的:

1-启动AsyncTask而不是线程。AsyncTaskonPostExecute()在 UI 线程中运行,这意味着您可以在其中执行任何与 UI 相关的操作。您可以在 onCreate() 中启动 AsyncTask,一旦完成,它会在您的活动上调用一个方法,该方法执行以下操作:

myAdapter.notifyDataSetChanged();

2- 使用runOnUIThread()

于 2013-06-22T12:57:20.313 回答
0

使用您的活动runOnUiThread(Runnable action)

关联

于 2013-06-22T13:03:01.607 回答