【发布时间】:2014-03-01 20:57:32
【问题描述】:
试图让计时器每秒调用一个方法。我无法弄清楚为什么这段代码不起作用。代码取自我的 activity_main.xml 和 MainActivity.java
activity_main:
<ToggleButton
android:id="@+id/btnStartStop"
android:layout_width="80dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/clockDisplay"
android:layout_below="@+id/clockDisplay"
android:layout_marginLeft="40dp"
android:layout_marginTop="0dp"
android:textOff="Start"
android:textOn="Stop"
android:onClick="toggleStartStop" />
MainActivity.java:
public void toggleStartStop(View view){
if(((ToggleButton) view).isChecked()){
Timer timer = new Timer("timer", true);
TimerTask task = new startTask();
timer.schedule(task, new Date(), 1000);
}else{
stopTimer();
}
}
class startTask extends TimerTask
{
public void run()
{
System.out.println("inc secs var");
}
}
【问题讨论】:
-
究竟是什么不工作?线程没有启动?提供更多详细信息。
-
尝试改用
ScheduledExecutorService -
我会检查的。与此同时...我运行应用程序,单击按钮,没有打印任何内容。