我正在使用扩展Handler类的类来更新我的活动UI。 侧面主要活动
中的代码如下public class RefreshHandler extends Handler {
public void handleMessage(Message msg) {
Homeform.this.updateUI();
}
public void sleep(long delayMillis) {
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
};
private void updateUI(){
Log.v(""," I am inside Update UUI=====================");
refresh();
mRedrawHandler.sleep(5000);
}
我在RefreshHandler的对象上调用了此方法handleMessage(),如下所示
mRedrawHandler = new RefreshHandler();
mRedrawHandler.handleMessage(new Message());
但是在这里我面临的一个问题是它在关闭我的应用程序后也在运行。
请在关闭此应用程序时解决我的问题以停止此处理程序。
谢谢..
答案 0 :(得分:8)
onDestroy,调用删除
mRedrawHandler.removeMessages(0);
答案 1 :(得分:1)
这样的事情应该有效:
if(!isFinishing()) {
sendMessageDelayed(obtainMessage(0), delayMillis);
}
即。在sendmessage-line
周围添加if语句