2017-01-05 16 views
1

私のアプリケーションでは、システム時間と私の時間に従ってCountDownTimerを使いたいと思っています。私の時間が14:30:30、システム時間が14:00:00の場合、私のアプリケーションで30分タイマーを設定する方法よりも?私は、アダプタでCountDownTimerを使用します。ここでは私のアプリケーションでCountDownTimerを使用する方法

は、私は、

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(); 

注意をしようとしているコードです。

+1

こんにちはソラティヤ 私はあなたが時間計算を逆転したと思います。それはDate2 - Date1ではありませんか? –

+0

@Daniel Perssonさん、ありがとう、ありがとうございました。 –

答えて

2
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(); 

システム時間からマイナスにすることができます。実際に私の時間とその仕事にシステム時間を差し引いた

関連する問題