我是Android编程的新手,但我知道Java。 我的问题是,计时器如何在Android中运行?我已经读过,最好使用处理程序。 我想要做的是,你点击一个按钮,计时器启动。对于单击按钮的那一刻,对我来说一切都很清楚但是如何启动计时器?
答案 0 :(得分:6)
计时器如何在Android中运行?
您最好阅读Timer documentation,CountDownTimer Documentation和Handler Documentation。
到目前为止,当点击按钮时,一切都被清除了;但是,我该如何启动计时器?
如果我没有误解您的问题,当您说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) {
});
}
我的btn1
启动CountDownTimer
,第二个停止并清除它。
现在,我创建了一个名为CountDownTimerTest
的{{3}}。
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();
}
});
}
您可以像这样创建名为int
的{{1}}:
NumberButtonClicked
然后在每个int NumberButtonClicked = 0;
,你必须这样做(例子):
Button
然后你知道如果你点击btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
NumberButtonClicked = 1;
});
}
你的变量将是1。