Java 如何重置计时器?
我可以将计时器设置为从10秒开始倒计时,但下一页的时间将从0开始。每次运行时如何重置时间 这是我的密码Java 如何重置计时器?,java,android,Java,Android,我可以将计时器设置为从10秒开始倒计时,但下一页的时间将从0开始。每次运行时如何重置时间 这是我的密码 private TextView TIMER; private int Timerr = 10; public void Show_Next_Quiz(){ Random random = new Random(); int Random_Num = random.nextInt(quizArray.size()); ArrayList<
private TextView TIMER;
private int Timerr = 10;
public void Show_Next_Quiz(){
Random random = new Random();
int Random_Num = random.nextInt(quizArray.size());
ArrayList<String> quiz = quizArray.get(Random_Num);
Question1.setText(quiz.get(6)+quizCount);
Right_Answer = quiz.get(0);
quiz.remove(6);
Collections.shuffle(quiz);
iV1.setImageResource(
getResources().getIdentifier(quiz.get(0), "drawable", getPackageName())
);
iV2.setImageResource(
getResources().getIdentifier(quiz.get(1), "drawable", getPackageName())
);
iV3.setImageResource(
getResources().getIdentifier(quiz.get(2), "drawable", getPackageName())
);
iV4.setImageResource(
getResources().getIdentifier(quiz.get(3), "drawable", getPackageName())
);
iV5.setImageResource(
getResources().getIdentifier(quiz.get(4), "drawable", getPackageName())
);
iV6.setImageResource(
getResources().getIdentifier(quiz.get(5), "drawable", getPackageName())
);
ans1.setText(quiz.get(0).substring(0,(quiz.get(0).length()-1)));
ans2.setText(quiz.get(1).substring(0,(quiz.get(1).length()-1)));
ans3.setText(quiz.get(2).substring(0,(quiz.get(2).length()-1)));
ans4.setText(quiz.get(3).substring(0,(quiz.get(3).length()-1)));
ans5.setText(quiz.get(4).substring(0,(quiz.get(4).length()-1)));
ans6.setText(quiz.get(5).substring(0,(quiz.get(5).length()-1)));
Count_Down();
quizArray.remove(Random_Num);
}
public void Count_Down(){
new CountDownTimer(12*1000,1*1000){
@Override
public void onTick(long millisUntilFinished) {
TIMER.setText(String.valueOf(Timerr));
Timerr--;
}
@Override
public void onFinish() {
TIMER.setVisibility(View.INVISIBLE);
TIMER.setText(String.valueOf(Timerr));
}
}.start();
私有文本视图定时器;
专用int Timerr=10;
公开无效显示下一个测验(){
随机=新随机();
int Random_Num=Random.nextInt(quizArray.size());
ArrayList quick=quizArray.get(随机数);
问题1.setText(测验。获取(6)+quizCount);
正确答案=测验。获取(0);
移除(6);
收集。洗牌(测验);
iV1.setImageResource(
getResources().getIdentifier(quick.get(0),“drawable”,getPackageName())
);
iV2.setImageResource(
getResources().getIdentifier(quick.get(1),“drawable”,getPackageName())
);
iV3.setImageResource(
getResources().getIdentifier(quick.get(2),“drawable”,getPackageName())
);
iV4.setImageResource(
getResources().getIdentifier(quick.get(3),“drawable”,getPackageName())
);
iV5.setImageResource(
getResources().getIdentifier(quick.get(4),“drawable”,getPackageName())
);
iV6.setImageResource(
getResources().getIdentifier(quick.get(5),“drawable”,getPackageName())
);
ans1.setText(quick.get(0).substring(0,(quick.get(0).length()-1));
ans2.setText(quick.get(1).substring(0,(quick.get(1).length()-1));
ans3.setText(quick.get(2).子字符串(0,(quick.get(2).length()-1));
ans4.setText(quick.get(3).子字符串(0,(quick.get(3).length()-1));
ans5.setText(quick.get(4).子字符串(0,(quick.get(4).length()-1));
ans6.setText(quick.get(5).substring(0,(quick.get(5).length()-1));
倒计时();
quizArray.remove(随机数);
}
公共空间倒计时(){
新倒计时(12*1000,1*1000){
@凌驾
公共void onTick(长毫秒未完成){
TIMER.setText(String.valueOf(Timerr));
Timerr--;
}
@凌驾
公共无效onFinish(){
TIMER.setVisibility(View.INVISIBLE);
TIMER.setText(String.valueOf(Timerr));
}
}.start();
在函数
CountDown
中,我将TIMER.setText(String.valueOf(Timerr))
同时放在(onTick和onFinish)中,但它不能工作。如何使计时器每次都是10秒?为CountDownTimer
创建一个全局变量
CountDownTimer countDownTimer;
private void timer(){
countDownTimer = new CountDownTimer(12*1000,1*1000){
@Override
public void onTick(long millisUntilFinished) {
TIMER.setText(String.valueOf(Timerr));
Timerr--;
}
@Override
public void onFinish() {
TIMER.setVisibility(View.INVISIBLE);
TIMER.setText(String.valueOf(Timerr));
}
}.start();
}
对于取消计时器
countDownTimer.cancel();
countDownTimer.onFinish();
countDownTimer.start();
对于完成计时器
countDownTimer.cancel();
countDownTimer.onFinish();
countDownTimer.start();
对于重新启动/启动计时器
countDownTimer.cancel();
countDownTimer.onFinish();
countDownTimer.start();
Owhh但如何使用?当我使用它时,它是由以下原因引起的:java.lang.NullPointerException:尝试调用虚拟方法'android.os.CountdowntTimer android.os.CountdowntTimer.start()'在空对象引用上此问题如何解决?首先需要初始化countDownTimer。然后可以使用method.ya。我会在您教学时启动countDownTimer。但是当我键入代码countDownTimer.start()时,它会给我该错误。