Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当第二次倒计时开始时停止第一次倒计时_Java_Android_Countdowntimer - Fatal编程技术网

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()
从那里获取它。