我正在使用 Eclipse 和 android 编程。AsyncThread 可以与 UI 交互吗,我的后台线程中有这段代码,它导致抛出异常:
if (pressTime == 0){
displayTime.setText("You missed your ring");
}
您可以使用Handler
. 只需在 UI 线程中创建它,然后从您的异步线程发布对它的调用。
例如,如果您使用的是AsyncTask
,只需添加以下全局变量:
Handler mHandler;
接下来,在任务的构造函数或onPreExecute
方法中,添加以下行:
mHandler = new Handler();
最后,只要在UI ThreaddoInBackground
上调用了上述行,您就可以在您的方法中使用以下方法在所述 Thread 上执行代码:
mHandler.post(new Runnable() {
@Override
public void run() {
if (pressTime == 0)
displayTime.setText("You missed your ring");
}
});