在我的应用程序中,我在单击按钮时创建了一个对话框,并在创建对话框时启动了处理程序,现在我想在关闭对话框和 Activity 后删除处理程序的回调,所以我在 oncreate Activity 方法上创建了一个处理程序,该处理程序不断检查标志我在对话框关闭时设置为真,当标志变为真时,处理程序的回调应该被删除,但处理程序的回调不会被删除。
final Handler handler_Alerts = new Handler();
Runnable r_Alerts = new Runnable() {
public void run() {
if(Flag){
handler1.removeCallbacks(rhandler1);
}
Toast.makeText(getApplicationContext(), "In Handler", Toast.LENGTH_SHORT).show();
handler_Alerts.postDelayed(this, 1000);
}
};
handler_Alerts.postDelayed(r_Alerts, 1000);
最佳答案
没有办法检查它是否有一个可运行的特定对象。你可以打电话
handler_Alerts.removeCallbacks(r_Alerts);
删除 Handler 队列中的任何 r_Alerts 实例,或者
handler_Alerts.removeCallbacks(null);
删除队列中的所有runnable
关于android - 如何检查处理程序是否有回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16936769/