Android 中的计时器如何工作?
你最好读一下定时器文档, 倒计时器文档 and 处理程序文档.
到目前为止,当我点击按钮时,一切都清除了;但是,我怎样才能启动计时器呢?
如果我没有误解你的问题,当你说Timer
,你指的是CounteDownTimer
。所以,你应该有这样的东西:
(我已经写了一个示例代码。所以,你应该先理解它,然后,你应该将它应用到你的代码中。)
添加Buttons
btn1 = (Button)findViewById(R.id.bt1);
btn2 = (Button)findViewById(R.id.bt2);
添加SetOnClickListener()
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
});
}
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
});
}
My btn1
开始CountDownTimer
,第二个停止并清除它。
现在,我创建一个内部类 with CountDownTimerTest
name.
public class CountDownTimerTest extends CountDownTimer {
public CountDownTimerTest(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
text.setText("Time's up!");
timeElapsedView.setText("Time Elapsed: " + String.valueOf(startTime));
}
@Override
public void onTick(long millisUntilFinished) {
text.setText("Time remain:" + millisUntilFinished);
timeElapsed = startTime - millisUntilFinished;
timeElapsedView.setText("Time Elapsed: " + String.valueOf(timeElapsed));
}
}
然后在我的btn1
,我把这段代码(启动CountDownTimer
):
countDownTimer.start();
而在我的btn2
,我把这段代码(停止/取消CountDownTimer
):
countDownTimer.cancel();
现在,我希望你能明白如何CountDownTimer
有效,如果你的问题不是关于CountDownTimer
,请告诉我,我会根据您的意愿尽快更新我的答案。
编辑-只有一个Button
用同样的方法来做Button
, 你可以这样做:
创建一个Boolean
变量为:
Boolean ButtonClicked = false;
然后,修改代码如下:
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!ButtonClicked)) {
ButtonClicked = true;
countDownTimer.start();
} else {
ButtonClicked = false;
countDownTimer.cancel();
}
});
}
编辑2 获取单击的按钮
您可以创建一个int
called NumberButtonClicked
像这样 :
int NumberButtonClicked = 0;
然后在每个Button
你必须这样做(示例):
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
NumberButtonClicked = 1;
});
}
然后你就知道如果你点击了btn1
你的变量将为 1。