[英]Odd values with timepicker and SystemClock.elapsedRealtime();
[英]Android: how to use SystemClock.elapsedRealtime() to show second one by one?
我正在使用SystemClock.elapsedRealtime()
來顯示時間。
但是現在我想根據SystemClock.elapsedRealtime()
時間一一顯示要增加的秒數。
是的,我必須使用線程。
那么怎么做呢?
我已經用這個線程試過了:
// Start lengthy operation in a background thread
progressThread = new Thread(new Runnable() {
public void run() {
while (mProgressStatus < 1000) {
mProgressStatus = ((int) (SystemClock.elapsedRealtime() / 10));
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
// try {
// // progressThread.sleep(1000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// progressBar.setProgress(mProgressStatus);
System.out.println("SECOND is :" + mProgressStatus);
}
});
}
}
});
那么我應該在這個線程中改變什么才能讓秒數一一增加?
請幫我解決這個問題。
謝謝。
您可以使用Chronometer類。 您可以使用setBase()
將其綁定到SystemClock.elapsedRealtime()
setBase()
。 另一種方法可能是,如果您在 Activity 中使用Handler並使用值為 1000 的sendEmptyMessageDelayed()方法來更新您的計時器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.