如何在android

时间:2017-03-10 12:54:20

标签: android timer

目前在我的应用程序中,我让用户在点击按钮时创建多个倒数计时器。我希望将每个倒数计时器与一个取消按钮配对,取消按钮允许用户取消倒数计时器。目前我有一个函数,它使用cdt.cancel()取消倒数计时器,其中cdt是countdowntimer var。但是,这只允许我取消之前创建的cdt。有没有什么方法可以取消之前的倒数计时器?

1 个答案:

答案 0 :(得分:0)

我会做这样的事情:

   private void startNewTimer(List<CountDownTimer> listOfTimers) {


        CountDownTimer countDownTimer = new CountDownTimer(1000,1000) {
            @Override
            public void onTick(long millisUntilFinished) {

            }

            @Override
            public void onFinish() {

            }
        }.start();

        listOfTimers.add(countDownTimer);

    }

    private boolean cancelTimers(List<CountDownTimer> listOfTimers) {

        if(listOfTimers != null && !listOfTimers.isEmpty()) {
            for(CountDownTimer cdt : listOfTimers) {
                cdt.cancel();
            }
            listOfTimers = null;
            return true;
        }
        return false;
    }

您可能希望将List<CountDownTimer> listOfTimers创建为全局变量(List<CountDownTimer> listOfTimers = new ArrayList<>()

您可以通过按钮startNewTimer(list)的{​​{1}}方法和您认为合适的onClick来调用OnClickListener

如果您要取消特定取消,可以通过stopTimers中的索引引用它,例如:

List