我在android中创建了一个应用程序并使用了这样的计时器..
try {
CountDownTimer start1 = new CountDownTimer(20000, 1000) {
public void onTick(long millisUntilFinished) {
TextView timeShow = (TextView)findViewById(R.id.showTime);
timeShow.setText(" "+" 00:" +millisUntilFinished / 1000);
}
但我的问题是我不知道如何停止计时器。有什么想法吗?
我已经尝试过:
quitApplication.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
start1.cancel();
Intent i = new Intent(v.getContext(), startGame.class);
startActivity(i);
// TODO Auto-generated method stub
}
});
答案 0 :(得分:10)
start1.cancel()
是调用取消计时器的正确方法。
您没有提供有关您获得的错误或为什么它不适合您的任何详细信息,但我假设您的程序未编译,因为您的变量start1
是本地变量< / strong>即可。它可能是您try
块所处方法的本地化。这意味着您的OnClickListener
构造不知道start1
是什么。
要解决这个问题,只需声明 start1
作为类变量(在所有方法之外,但在类中):
public class someClass {
CountDownTimer start1;
// blah some code
public void someMethod {
try {
start1 = new CountDownTimer() { //etc
这样做将允许其他方法识别start1
答案 1 :(得分:2)
我知道这已经有一年了,但是对于未来的读者来说,你只需要把计时器作为决赛。
喜欢这样
final CountDownTimer start1 = new CountDownTimer(20000, 1000) {}
应该有效
答案 2 :(得分:1)
当你想要停止计时器时调用start1.cancel()