Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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
Android 如何在我的应用程序中使用倒计时_Android_Countdowntimer - Fatal编程技术网

Android 如何在我的应用程序中使用倒计时

Android 如何在我的应用程序中使用倒计时,android,countdowntimer,Android,Countdowntimer,在我的应用程序中,我想根据系统时间和我的时间使用倒计时。如果我的时间是14:30:30,系统时间是14:00:00,那么如何在我的应用程序中设置30分钟计时器 这是我试过的代码 try { Date1 = dateFormat.parse(curranttime); } catch (ParseException e) { e.printStackTrace(); } try { Date2 = dateFormat.parse(

在我的应用程序中,我想根据系统时间和我的时间使用倒计时。如果我的时间是14:30:30,系统时间是14:00:00,那么如何在我的应用程序中设置30分钟计时器

这是我试过的代码

 try {
      Date1 = dateFormat.parse(curranttime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    try {
      Date2 = dateFormat.parse(mytime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    long mills = Date1.getTime() - Date2.getTime();
    int Hours = (int) (mills / (1000 * 60 * 60));
    int Mins = (int) (mills / (1000 * 60)) % 60;
    Log.e("Mins",Mins+"");

    CountDownTimer countDownTimer = new CountDownTimer(mills, 1000) {
        public void onTick(long millisUntilFinished) {
            long millis = millisUntilFinished;
            //Convert milliseconds into hour,minute and seconds
            String hms = String.format("%02d:%02d:%02d",
                    TimeUnit.MILLISECONDS.toHours(millis),
                    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
                    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
            holder.txtTime.setText(hms);//set text
        }
        public void onFinish() {
            holder.txtTime.setText("00:00"); //On finish change timer text
        }
    }.start();
注意:我在适配器中使用了
CountDownTimer

try {
  Date1 = dateFormat.parse(curranttime);
} catch (ParseException e) {
    e.printStackTrace();
}
try {
  Date2 = dateFormat.parse(mytime);
} catch (ParseException e) {
    e.printStackTrace();
}
long mills = Date2.getTime() - Date1.getTime();
int Hours = (int) (mills / (1000 * 60 * 60));
int Mins = (int) (mills / (1000 * 60)) % 60;
Log.e("Mins",Mins+"");

CountDownTimer countDownTimer = new CountDownTimer(mills, 1000) {
    public void onTick(long millisUntilFinished) {
        long millis = millisUntilFinished;
        //Convert milliseconds into hour,minute and seconds
        String hms = String.format("%02d:%02d:%02d",
                TimeUnit.MILLISECONDS.toHours(millis),
                TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
                TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
        holder.txtTime.setText(hms);//set text
    }
    public void onFinish() {
        holder.txtTime.setText("00:00"); //On finish change timer text
    }
}.start();

我可以从系统时间中减去我的时间。实际上,将系统时间减去我的时间,这就是工作

嗨,Sorathiya,我不确定问题是什么,但首先我认为你已经颠倒了时间计算。是不是应该是Date2-Date1?谢谢@Daniel Persson这是工作,非常感谢。