Java 从其他位置移除回调

Java 从其他位置移除回调,java,android,handler,Java,Android,Handler,我已经实现了一个按钮,该按钮可以在按下时触发重复事件,使用以下说明: 这很好用。我希望我的程序中的其他触发器也停止重复事件。但是放置mHandler.removeCallbacks(mUpdateTask)似乎不起作用。我做错了什么?通过调用mHandler.removeCallbacks(mUpdateTask)解决在它自己的线程中,如下所示: Thread t = new Thread() { public void run() { mHandler.removeCallbac

我已经实现了一个按钮,该按钮可以在按下时触发重复事件,使用以下说明:


这很好用。我希望我的程序中的其他触发器也停止重复事件。但是放置
mHandler.removeCallbacks(mUpdateTask)似乎不起作用。我做错了什么?

通过调用
mHandler.removeCallbacks(mUpdateTask)解决在它自己的线程中,如下所示:

Thread t = new Thread() {
  public void run() {
    mHandler.removeCallbacks(mUpdateTask);
  }
};
t.setDaemon(true);
t.start();

但这似乎效率很低,只需要一个新线程就可以进行此调用。

此操作有效:并且在不到一秒钟的时间内停止重复。您确定
mHandler.removeCallbacks(mUpdateTask)被调用?在那里也记录一些东西。谢谢,把电话放进一个新的线程似乎有帮助。不知道为什么。。。
Thread t = new Thread() {
  public void run() {
    mHandler.removeCallbacks(mUpdateTask);
  }
};
t.setDaemon(true);
t.start();