单击按钮结束CountDownTimer

问题描述 投票:0回答:1

因此,我有一个开始按钮1,在其中单击它时,它将从EditText1中获取文本,然后调用CountDownTimer来调用一个方法,该方法将EditText1中的文本通过其参数传递,并每10秒在TextView1中显示一些内容。但是,如果您决定在EditText1中键入其他内容,然后再次单击开始按钮1,它将再次调用CountDownTimer。

在这种情况下,将有2个“ doThis” CountDownTimer变量,而执行doThis.cancel()只会取消第二个“ doThis” CountDownTimer变量。我想知道如何解决此问题。

[EditText1]

[[开始按钮1] [TextView1] [结束按钮1][开始按钮2] [TextView2] [结束按钮2]

CountDownTimer doThis;

doThis = new CountDownTimer(10000,10000)
    {
        @Override
        public void onTick(long millisUntilFinished) {

        }

        @Override
        public void onFinish() {
            start();
            TextView text = (TextView)findViewById(R.id.text);
            try {
                Date date = new Date(System.currentTimeMillis());
                text.setText(myMethod(variableFromEditText1));
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }.start();
java android android-studio button countdowntimer
1个回答
0
投票
如果您希望同时具有多个计时器和关联的按钮/文本视图,建议您将它们保存在列表中。您需要“存储”计时器CountDownTimer cdt = new CountDownTimer [...]。我什至要包装一个包含开始/结束按钮,文本视图和计时器本身的包装器。类似于:
© www.soinside.com 2019 - 2024. All rights reserved.