这是一个弹出对话框点击按钮对话框消失之后产生的异常,我在经过一翻调试后,确认了我的是线程毁掉带来的异常,平时我们使用Handler用来发送消息,比如mHandler.postDelayed(msg,1000);发送一条一秒之后进入到下面这个Runnable中:
public Runnable msg= new Runnable() {
@Override
public void run() {
mHandler.postDelayed(msg,1000);
}
};
使其不断的进行循环用于处理事件;
这样一来他会不断的运行这个方法,尽管在你界面已经关闭,他也没有立刻停止,如果正好你在这里面调用了一个要用到界面的上下文context之类的方法,那么在你弹出对话框点击跳转到另一个界面的时候,你就有可能遇到我遇到的异常。
那么接下来是出处理方法:
在
public void onDestroy() {
super.onDestroy();
mHandler.removeCallbacks(msg);
}
移除掉你谢的线程回调方法,这样一来就不会因为线程回调给你带来找不到activity的问题了。
希望对遇到同一问题的人有帮助,也希望大家提供更多种情况一起分享!
本文介绍了一种在Android应用中因线程回调导致的界面已关闭但仍尝试操作界面元素而引发的异常现象,并提供了解决方案。
1748

被折叠的 条评论
为什么被折叠?



