質問があります。特定の時間にタイマーを開始したい。つまり、05:10:02 と言う時間があります。その後、タイマーは 05:10:02 から開始します。たとえば、05:10:02、05:10:03、05:10:04 などです。
アクティビティを開くと、現在の時刻が取得され、タイマーが上記の質問で説明されているように開始されます。
次のコードがあります。
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
inputString = str; //05:10:02
try {
date = sdf.parse(inputString);
Log.i("Test", "in milliseconds: " + date.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(mStartTimeGlobal== 0L) {
mStartTimeGlobal = date.getTime();
mHandlerGlobal.removeCallbacks(mUpdateTimeTaskGlobal);
mHandlerGlobal.postDelayed(mUpdateTimeTaskGlobal, 100);
}
private Runnable mUpdateTimeTaskGlobal = new Runnable(){
public void run() {
//DecimalFormat df = new DecimalFormat("##.####");
final long start = mStartTimeGlobal;
long millis = date.getTime();
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
int hours = seconds/3600;
String timer = String.format("%02d", hours) + ":" + String.format("%02d", minutes) + ":" + String.format("%02d", seconds);
///mTotalTimeTakenGlobal = timer;
txt_start_timer.setText(timer);
mHandlerGlobal.postDelayed(this, 200);
}
};