【发布时间】:2012-06-03 13:10:08
【问题描述】:
通过Android中的AsyncTask方法,存在事件onPostExecute()在任务结束后执行代码。线程方法的等价物是什么?我搜索了,但没有找到任何解决方案。
编辑:我无法在 run 方法的末尾调用,因为我需要在 UI 线程中执行操作,并且我无法在不同的线程中执行此操作。
【问题讨论】:
标签: java android multithreading task
通过Android中的AsyncTask方法,存在事件onPostExecute()在任务结束后执行代码。线程方法的等价物是什么?我搜索了,但没有找到任何解决方案。
编辑:我无法在 run 方法的末尾调用,因为我需要在 UI 线程中执行操作,并且我无法在不同的线程中执行此操作。
【问题讨论】:
标签: java android multithreading task
将调用放在 run 方法的末尾...
run(){
...
handler.post(...);
}
【讨论】:
如果您在 Activity 中运行线程,您可以在线程中使用以下代码:
runOnUiThread(new Runnable() { public void run(){ //your ui altering code here
}})
【讨论】:
您可以使用 Activity.runOnUiThread(Runnable) 方法从非 UI 线程在 UI 上执行代码。
如果您需要更多地控制线程事件或想要发回进度更新,您应该使用Handler 和 [HandlerThread]。将 UI 处理程序传递给后台线程,然后使用从后台线程向 UI 线程处理程序发布消息。实现handleMessage(message) 以对这些事件采取行动。
【讨论】: