我有以下内容: -
public class resApp extends MapActivity implements Runnable {
public void run() {
searchImage.setVisibility(View.GONE);
}
}
我还有一个在此之前运行的后台线程,但似乎运行正常。
当我运行应用程序时,run()永远不会被调用。
你能帮忙吗? 这段代码大约在6个月前工作,但设备是2.1。由于
克里斯
修改
我已经实施了
private Handler handler;
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.toString().equalsIgnoreCase("1")) {
ad.dismiss();
} else {
pd.dismiss();
}
}
};
作为一个例子,我已经有了一个在后台运行的异步任务,在2.1中我可以有getter和setter。我现在不得不将它们拉出来并将它们放入run()方法,因为2.2不喜欢在异步任务中设置onclicklistener。 我需要做的就是在post执行时调用run()方法但是已经尝试了所有东西: -
protected void onPostExecute(Object result) {
// Pass the result data back to the main activity
if (dialog != null) {
resApp.this.dialog.dismiss();
}
}
我可以这样做: -
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
this.resApp.run();
}
};
答案 0 :(得分:2)
您可以使用Handler调用run()方法。
Handler myHandler = new Handler();
resApp myObj;
使用myHandler.post(myObj);