虽然在自己的线程上运行长期任务很有用,但为了更新 UI 组件,需要在 UIThread 中运行代码。否则,您的应用程序将在执行期间抛出 CalledFromWrongThreadException。如何在 UIThread 上运行代码?
最佳答案
有多种方法可以实现这一目标:
- 使用 runOnUiThread() 方法调用
- 使用 post() 方法调用
- 使用处理程序框架
- 使用广播和广播接收器(可以选择使用 LocalBroadcastManager)
- 使用 AsyncTask 的 onProgressUpdate() 方法
方法一:
runOnUiThread(new Runnable() {
@Override
public void run() {
// do something
}
});
了解更多:http://www.intertech.com/Blog/android-non-ui-to-ui-thread-communications-part-1-of-5/#ixzz3hnx3hdS5
关于java - 如何从线程调用 UIThread 上的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31800364/