让我们假设我在下面有一个类。首先我有一个CountDownTimer
在公共范围内,但它现在为空,我有一个startCountDownTimer
方法来启动我的CountDownTimer
,在startCountDownTimer
方法我设置我的countdowntimer
但之后,我想取消countdowntimer
当用户点击后退按钮,但你知道我创建了我的变量在公共范围内,它的null,所以当我试图取消我的方法之外的CountDownTimer
我得到NullPointerException,那么我该如何取消我的CountDownTimer
? (我不想在公共范围内创造了我所有的CountDownTimer
)我怎样才能取消我的方法以外的CountDownTimer?
public class test {
CountDownTimer countdowntimer;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
startCountDownTimer();
}
void startCountDowntimer(){
countdowntimer = new CountDownTimer(10000, 1) {
@Override
public void onTick(long millisUntilFinished) {
minText.setText(formatTimeMinutes(millisUntilFinished));
secondsText.setText(formatTimeSeconds(millisUntilFinished));
}
@Override
public void onFinish() {
Toast.makeText(this,"Timer Finished",Toast.LENGTH_LONG).show();
}
}.start();
}
@Override
public void onBackPressed() {
super.onBackPressed();
countdowntimer.cancel();
}
}
不要初学者提醒我们,但*请*,使用一些标点符号将您的问题陈述改为可理解的句子。 – lenz
大写,代码空白 – jwvh