我在我的 Android 应用程序中使用 runnable 来更新倒数计时器,如下面的代码所示。它似乎有效,但我注意到我的计时器比预期的要长几秒钟。例如,如果它应该倒计时 3 分钟,则需要 3 分 5 秒。我尝试在服务中使用计时器来管理主要活动中的倒计时显示。计时器/服务按预期工作。
为什么不runnable
/postDelayed()
运行正确的时间?postDelayed()
时间可靠吗?递减一个变量,runnable
然后使用它来更新一个EditText
with setText()
。是否setText()
需要太长时间(不到一秒),所以runnable
真的每 1.x 秒运行一次?
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
// decrement the time remaining and update the display
handler.postDelayed(this, 1000);
}
};
...
// start the runnable
handler.postDelayed(r, 1000);