android开发分享取消一个handler.postdelayed进程

我正在使用handler.postDelayed()在我的应用程序的下一个阶段发生之前创build一个等待期。 在等待期间,我正在显示一个带有进度条和取消button的对话框。

我的问题是我无法find一种方法来取消postdelayed任务之前的时间过去了

    我这样做是为了发布一个延迟的可运行的:

     myHandler.postDelayed(myRunnable, SPLASH_DISPLAY_LENGTH); 

    而这个删除它: myHandler.removeCallbacks(myRunnable);

    另一种方法是处理Runnable本身:

     Runnable r = new Runnable { public void run() { if (booleanCancelMember != false) { //do what you need } } } 

    万一你有多个内部/匿名runnables传递给相同的处理程序,并且你想要取消所有相同的事件使用

    handler.removeCallbacksAndMessages(null);

    根据文件,

    删除所有未完成的callbackpost,并发送obj为标记的消息。 如果令牌为空,所有的callback和消息将被删除。

    它为我工作时,我通过一个布尔值交给延迟可运行的邮件中调用CancelCallBacks(this)

     Runnable runnable = new Runnable(){ @Override public void run() { Log.e("HANDLER", "run: Outside Runnable"); if (IsRecording) { Log.e("HANDLER", "run: Runnable"); handler.postDelayed(this, 2000); }else{ handler.removeCallbacks(this); } } }; 

      以上就是android开发分享取消一个handler.postdelayed进程相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/516947.html

      (0)
      上一篇 2020年12月3日
      下一篇 2020年12月3日

      精彩推荐