我正在努力使用 android 按钮来启动/停止循环功能,但在尝试使用 handler.postDelayed()、handler.removeCallbacksAndMessages() 和 executorService() 函数后,我找不到合适的解决方案/解释。
有一个“开始/停止”按钮,应该:
public void startAndStopButton(View v){
final Handler myHandler = new Handler();
final Runnable myRunnable = new Runnable() {
public void run() {
startTimer();
runRandomOperation();
myHandler.postDelayed(this, delay);
}
};
myHandler.postDelayed(myRunnable, 0);
}
目前,我成功启动了定时器并运行了循环函数,但还是不行:
(我不想使用线程和 Sleep 方法,因为用户应该能够在可运行程序执行时更改一些输入)
我觉得查看
hasCallbacks(Runnable r)
类中的 Handler
api 应该会有所帮助,然后继续使用 removeCallbacks
api。我在基于 if-else 的逻辑中有多个可运行对象的情况下使用了这些。
参考: