如何在线程端执行函数?

时间:2012-06-03 13:10:09

标签: java android multithreading task

使用Android中的AsyncTask方法,在任务结束后存在执行代码的事件onPostExecute()。螺纹方法的等价物是什么?我搜索过,但我找不到任何解决方案。

编辑:我不能在run方法结束时调用,因为我需要在UI线程中执行操作,而且我不能在不同的线程中执行此操作。

3 个答案:

答案 0 :(得分:3)

将调用放在run方法的末尾...

run(){
    ...
    handler.post(...);
}

答案 1 :(得分:1)

如果您在Activity中运行线程,则可以在线程中使用以下代码:

runOnUiThread(new Runnable() { public void run(){ //your ui altering code here }})

答案 2 :(得分:0)

您可以使用Activity.runOnUiThread(Runnable)方法从非UI线程在UI上执行代码。

如果您需要更多地控制线程事件或想要发回进度更新,则应使用Handler和[HandlerThread]。将UI处理程序传递给后台线程,然后使用后台线程将消息发布到UI线程处理程序。实施handleMessage(message)以对这些事件采取行动。