我的计数器刚进去是00:00:00 现在进去后过了2-3秒才变成00:00:01,这是怎么回事。
XML
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/timeout"
android:text="00:00:00"
android:enabled="true" />
java
tock_on.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
stepTimeHandler = new Handler();
startTime = System.currentTimeMillis();//获取时间
mTicker = new Runnable() {
public void run() {
String content = showTimeCount(System.currentTimeMillis() - startTime);
timeout.setText(content);
long now = SystemClock.uptimeMillis();
long next = now + (1000 - now % 1000);
stepTimeHandler.postAtTime(mTicker, next);
}
};
//启动计时线程,定时更新
mTicker.run();
}
});
public String showTimeCount(long time) {
if(time >= 360000000){
return "00:00:00";
}
String timeCount = "";
long hourc = time/3600000;
String hour = "0" + hourc;
hour = hour.substring(hour.length()-2, hour.length());
long minuec = (time-hourc*3600000)/(60000);
String minue = "0" + minuec;
minue = minue.substring(minue.length()-2, minue.length());
long secc = (time-hourc*3600000-minuec*60000)/1000;
String sec = "0" + secc;
sec = sec.substring(sec.length()-2, sec.length());
timeCount = hour + ":" + minue + ":" + sec;
return timeCount;
}