我需要tu更新我的TextView每秒。我用Timer和TimeTask編寫了它,但每個人都說它的不贊成使用的方法。 有人可以告訴我如何使簡單的計時器更新TextView每1秒可能阻止它從用戶界面?更新TextView每秒與ScheduledThreadPoolExecutor
2
A
回答
9
您可以使用一個處理器或倒計時計時器
Handler m_handler;
Runnable m_handlerTask ;
m_handler = new Handler();
m_handlerTask = new Runnable()
{
@Override
public void run() {
// do something. update text view.
m_handler.postDelayed(m_handlerTask, 1000);
}
};
m_handlerTask.run();
要停止
m_handler.removeCallbacks(m_handlerTask);
檢查此鏈接爲countdowntimer,處理程序,定時器
0
你可以使用一個簡單的處理程序來做你需要做的事情。總之,與調度方式,你可以這樣做:
private ScheduledExecutorService scheduler;
...
if(scheduler != null)
{
scheduler.shutdown();
scheduler = null;
}
scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable()
{
public void run()
{
// do your stuff...
}
}, Consts.KEEP_ALIVE_TIMEOUT, Consts.KEEP_ALIVE_TIMEOUT, TimeUnit.MINUTES);
+0
正如我所看到的處理程序是更簡單的方法。但是,謝謝。 – SpeedEX505
6
無需爲此創建單獨Handler
(如目前接受的答案)。在代替,只是postDelayed()
的Runnable
直接向TextView
的內部消息隊列:
Runnable runnable = new Runnable() {
@Override public void run() {
// do some work, then repost:
textview.postDelayed(runnable, 1000);
}
};
// post with an initial 1000 ms delay
textview.postDelayed(runnable, 1000);
// or post without an initial delay
textview.post(runnable);
// or even run the runnable right away the first time
runnable.run();
或者,如果你想完成所有是‘重繪’的TextView
,使用invalidate()
(或postInvalidate()
從非-UI線程)。還有重載允許你限制失效到一個特定的矩形,你可以利用它來更有效的實現。
+0
哇..真棒,那麼簡單!適合我!謝謝 - 我不需要任何線程或計時器。 –
相關問題
- 1. 更新的TextView每一秒
- 2. 每3秒更新一次TextView值
- 3. 無法每秒更新TextView使用Handler
- 4. 的Android更新的TextView爲每30秒
- 5. Android Studio每5秒更新一次textview
- 6. 每秒更改TextView值(Android)
- 7. C#TPL每秒更新Gridview每秒
- 8. 每秒更新DataGridView
- 9. 如何更新TextView的變量爲每5秒
- 10. 每秒鐘更新GUI的Java秒錶?
- 11. Javascript更新值每15秒
- 12. 更新BitmapImage每秒閃爍
- 13. 每秒更新ListView項目
- 14. numpy矩陣每秒更新
- 15. 每秒倒數值更新
- 16. 更新HttpResponse每隔幾秒
- 17. 每秒更新javascript時間
- 18. Angular2時鐘每秒更新
- 19. Gnuplot - 每秒更新圖形
- 20. 更新變量每1秒
- 21. 每15秒更新位置
- 22. Python Tkinter,每秒更新
- 23. 更新每n秒QLineEdit值
- 24. ViewModel每秒更新一次?
- 25. 更新間隔小於1秒的速度每秒更新
- 26. TextView不會更新與SlidingMenu
- 27. Android Java:每隔x秒更新一次TextView,無需用戶輸入
- 28. 如何從活動中每N秒更新一次Android TextView元素?
- 29. 正在更新ListView每毫秒單行
- 30. 更新每秒通知中的RemoteViews
爲什麼不使用處理程序 – Raghunandan
使用處理程序在每秒鐘更新文本視圖。 – Yugesh