Java 当第二次倒计时开始时停止第一次倒计时
我有个问题。Java 当第二次倒计时开始时停止第一次倒计时,java,android,countdowntimer,Java,Android,Countdowntimer,我有个问题。 当我的活动开始时,第一个倒计时正在运行。 当我按下按钮时,我试图停止第一次倒计时,然后第二次倒计时开始。 第二部分有效,但我不知道如何停止第一次倒计时。 任何按钮都不会调用它,但它会在活动开始时启动 我希望你明白我在说什么。 对不起,我的英语不好 这是我的密码: Button finnish; TextView letter; TextView textViewState, textVievCity, textViewRiver, textViewPlant, textViewAn
当我的活动开始时,第一个倒计时正在运行。
当我按下按钮时,我试图停止第一次倒计时,然后第二次倒计时开始。
第二部分有效,但我不知道如何停止第一次倒计时。
任何按钮都不会调用它,但它会在活动开始时启动 我希望你明白我在说什么。
对不起,我的英语不好 这是我的密码:
Button finnish;
TextView letter;
TextView textViewState, textVievCity, textViewRiver, textViewPlant, textViewAnimal, textViewName;
EditText editTextState, editTextCity, editTextRiver, editTextPlant, editTextAnimal, editTextName;
TextView textViewAnswer1, textViewAnswer2, textViewAnswer3, textViewAnswer4, textViewAnswer5, textViewAnswer6;
TextView timer, timer1;
public int counter = 120;
public int finalCounter = 10;
public int counterStop = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
Button finnish = (Button) findViewById(R.id.buttonFinnished);
finnish.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final TextView timer1 = (TextView) findViewById(R.id.textViewFinalCOunter);
new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
timer1.setText(String.valueOf(finalCounter));
finalCounter--;
}
@Override
public void onFinish() {
timer1.setText("koniec rundy");
}
}.start();
}
});
TextView letter = (TextView) findViewById(R.id.textViewLetter);
final String[] letters = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "ł", "m", "n", "o", "p", "r", "s", "t", "u", "w", "z"};
int random = (int) (Math.random() * 23);
letter.setText(letters[random]);
final TextView timer = (TextView) findViewById(R.id.textViewTimer);
new CountDownTimer(120000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
if (timer1 != null) {
timer.setText(String.valueOf(counterStop));
} else {
timer.setText(String.valueOf(counter));
counter--;
}
}
@Override
public void onFinish() {
timer.setText("koniec rundy");
}
}.start();
}
}
如果您想停止它,您需要存储对
倒计时的引用,例如
private CountDownTimer firstCountDown;
firstCountDown = new CountDownTimer(120000, 1000){...};
然后,您可以通过在按钮的ClickListener
中调用它来取消第一次倒计时,如下所示
@Override
public void onClick(View v) {
firstCountDown.cancel()
...
}
如果您想停止它,您需要存储对倒计时的引用,例如
private CountDownTimer firstCountDown;
firstCountDown = new CountDownTimer(120000, 1000){...};
然后,您可以通过在按钮的ClickListener
中调用它来取消第一次倒计时,如下所示
@Override
public void onClick(View v) {
firstCountDown.cancel()
...
}
好的,我明白了,但是现在我可以像以前一样将“firstCountDown”的结果放入textView了?@MichalG你可以使用textView
并通过调用timer.getText()
从那里获取结果。好的,我明白了,但是现在我可以将结果放入“firstCountDown”了像我以前尝试的那样进入文本视图?@MichalG您可以使用textView
并通过调用timer.getText()
从那里获取它。