android - 如何检查处理程序是否有回调

标签 android

在我的应用程序中,我在单击按钮时创建了一个对话框,并在创建对话框时启动了处理程序,现在我想在关闭对话框和 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/

相关文章:

android - 如何更改 googleplaystore url 链接中的应用程序 ID

android - 使用 Volley Android 缩放 ImageView

android - 如何删除通话记录

android - 在Android onStop上执行〜200毫秒工作的最可靠方法

java - 如何扩展此替换表达式以添加奇怪的字母字符,例如 "ü"?

android - Adapterview点击事件

android - 如何调整文本字体大小以适合 textview

android - 使用自定义 View 的自定义属性传入布局资源

android - APK文件中包含哪些文件

安卓动画GIF