我对 Android 很陌生(我已经编程了将近一个月,感觉好像我大部分时间都在与这个问题作斗争!)
我正在尝试创建一个计时器应用程序。目前有两个按钮,一个是启动计时器(如果再次按下它会将时间重置回 0)和一个停止按钮,它会暂停计时器(如果再次按下则什么也不做)。
我正在尝试使这些按钮执行以下操作:
- 按钮 1 = 如果按下一次启动计时器。如果在计时器运行时按下它会暂停,如果在计时器暂停时按下它会恢复
- 按钮 2 = 如果按下它会重新启动计时器
我的java代码如下:
//within on create
start = (Button)findViewById(R.id.start);
stop = (Button)findViewById(R.id.stop);
tv = (TextView)findViewById(R.id.tv);
tv.setText("30"); // starting from 30.
final MyCounter timer = new MyCounter(30000,1000);
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
timer.start();
}
});
stop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
timer.cancel();
}
});
}
public class MyCounter extends CountDownTimer{
public MyCounter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
System.out.println("Timer Completed.");
tv.setText("Timer Completed.");
}
@Override
public void onTick(long millisUntilFinished ) {
tv.setText((millisUntilFinished/1000 + ":" + millisUntilFinished/100));
System.out.println("Timer : " + (millisUntilFinished/1000));
}
}
我想我将不得不保存和恢复实例状态以暂停和恢复计时器,我将不得不使用布尔值来更改 button1 ('start') 的 onclicklistner,即。如果计时器正在运行并且单击了 button1,请执行此操作。