countDownTimer问题

问题描述

我正在尝试添加countDownTimer,这是可行的(只要curTimeendTime之前),我确实收到了“完成”消息。我的目标是完成后想重新启动计时器。如果我将counter.start();注释掉,它将崩溃:Attempt to invoke virtual method 'android.os.CountDownTimer android.os.CountDownTimer.start()' on a null object reference

有什么建议吗?

    public void loadCountDownTodaysLikes() {
        SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
        String curTime = SharedPrefManager.getCurTime();
        String endTime = "21:01:20";
        Date curTimeD,endTimeD;
        try {
            curTimeD = formatter.parse(curTime);
            endTimeD = formatter.parse(endTime);
           long curLong = curTimeD.getTime();
            long endLong = endTimeD.getTime();
            diff = endLong - curLong;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        counter = new CountDownTimer(diff,1000) {

            public void onTick(long millisUntilFinished) {
                long millis = millisUntilFinished;
                String hms =
                        (TimeUnit.MILLISECONDS.toHours(millis) - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(millis)) + " : ")
                                + (TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)) + " : "
                                + (TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))));
                countDownTodays.setText("Resetting in: " + hms);
         
            }

            public void onFinish() {
                countDownTodays.setText("finished!");
                //counter.start();
            }
        }
                .start();
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)