我想知道实现这种行为的最佳方法是什么:
我有一个事件X,其ID会不时发生。 如果发生了具有某个id的事件,我想在25秒后执行一些代码,除非再次发生具有相同id的X,在这种情况下我希望它再次推迟25秒。
实施此方法的最佳方法是什么?
答案 0 :(得分:0)
以下是如何使用简单的处理程序来延迟运行25秒的事情。由您决定如何过滤某些ID。
Handler handler = new Handler();
public void myEvent() {
// Remove any callback that may be registered, this will reset it if called before
handler.removeCallbacks(runMe);
// Execute the runnable in 25 seconds
handler.postDelayed(runMe, 25000);
}
Runnable runMe = new Runnable() {
@Override
public void run() {
// This will run after the postDelayed expires in 25 seconds
Log.d("TAG", "Run me at some time");
}
};