【发布时间】:2012-07-03 14:41:53
【问题描述】:
我正在尝试实现以下行为:
您按下一个可以切换多个元素的按钮(在摆动中)。关键是,只有在最后一秒没有发生切换时才会出现消息或其他内容。这意味着您按button1,等待一秒钟,然后您按button1 的消息出现;如果您按button1,然后(不到一秒)按button2,则消息应显示button2 已按下。
我发现了一些类似这样的计时器(我现在知道,这是一个 android 示例。也许 Swing 有类似的东西??):
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 1000ms
}
}, 1000);
我怎样才能停止任务?我不需要任何代码,只是一个提示。
【问题讨论】:
-
向线程传递一个实现可运行的类的实例,让该类有一个变量,您可以在 run() 中检查它是否可以执行您想做的任何事情。
-
不幸的是我不太明白这一点:(你的意思是我应该只为“发送消息”运行一个线程,有一个布尔值,只有在最后一次按下是在一秒钟前才被设置?那会我认为不是真正的表现。