计时器如何在Android中运行?
您最好阅读Timer文档,CountDownTimer文档和处理程序文档.
到目前为止,当点击按钮时,一切都被清除了; 但是,我该如何启动计时器?
如果我没有误解你的问题,当你说Timer,你指的是CounteDownTimer.所以,你应该有这样的事情:
(我已经编写了一个示例代码.所以,你应该首先理解它,然后,你应该将它应用到你的代码中.)
添加 Buttons
btn1 = (Button)findViewById(R.id.bt1);
btn2 = (Button)findViewById(R.id.bt2);
Run Code Online (Sandbox Code Playgroud)
添加 SetOnClickListener()
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
});
}
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
});
}
Run Code Online (Sandbox Code Playgroud)
我btn1开始了CountDownTimer,第二个停止并清除它.
现在,我创建了一个内部类与CountDownTimerTest名称.
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));
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我btn1,我把这个代码(开始CountDownTimer):
countDownTimer.start();
Run Code Online (Sandbox Code Playgroud)
在我btn2,我把这个代码(停止/取消CountDownTimer):
countDownTimer.cancel();
Run Code Online (Sandbox Code Playgroud)
现在,我希望你能理解它是如何CountDownTimer工作的,如果你的问题不是CountDownTimer,请告诉我,我会尽快按你的意愿更新我的答案.
Button要做到这一点Button,你可以这样做:
创建一个Boolean变量:
Boolean ButtonClicked = false;
Run Code Online (Sandbox Code Playgroud)
然后,修改代码如下:
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!ButtonClicked)) {
ButtonClicked = true;
countDownTimer.start();
} else {
ButtonClicked = false;
countDownTimer.cancel();
}
});
}
Run Code Online (Sandbox Code Playgroud)
您可以创建一个这样的int调用NumberButtonClicked:
int NumberButtonClicked = 0;
Run Code Online (Sandbox Code Playgroud)
然后在每个Button你有你必须这样做(例子):
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
NumberButtonClicked = 1;
});
}
Run Code Online (Sandbox Code Playgroud)
然后你知道,如果你点击了btn1你的变量将是1.
| 归档时间: |
|
| 查看次数: |
9185 次 |
| 最近记录: |