猜測我有一個TextView,我想在某些情況下更新它。我想有一個線程,每隔一秒或兩秒檢查一下情況,並在必要時更新TextView的文本。 任何想法?Android:定期從線程更新UI
0
A
回答
2
您可以使用處理程序,在您的GUI:
Handler hnd = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 101) {
//update textview
}
}
}
通HND到你的線程,並在你的線程做:
Message m = new Message();
m.what = 101;
hnd.sendMessage(m);
這個假設在你的單獨線程中,你正在做一些需要向GUI線程報告的工作,你也可以發送短信
1
您必須使用處理程序來更新另一個線程的視圖。隨着postDelayed你可以設置一個延遲。看到該文檔:
3
我這樣做:
public class MyClass {
private Handler hUpdate;
private Runnable rUpdate;
public MyClass() { // Constructor
hUpdate = new Handler();
rUpdate = new Runnable() {
// Do your GUI updates here
};
Thread tUpdate = new Thread() {
public void run() {
while(true) {
hUpdate.post(rUpdate);
sleep(500);
}
}
}
tUpdate.start();
}
}
相關問題
- 1. UI線程內的定期更新
- 2. Android:線程更新UI
- 3. Android多線程UI更新
- 4. 從ViewModel更新UI線程
- 5. 從線程更新UI
- 6. 更新UI線程
- 7. 更新UI線程
- 8. 在android中,爲什麼UI不能從UI線程更新?
- 9. Android:更新UI線程非常快
- 10. Android-使用線程更新UI元素
- 11. Android更新UI主線程問題
- 12. Android - 正確的多線程/ UI更新
- 13. android UI從另一個線程更改
- 14. 從後臺線程更新UI控件
- 15. 從類(多線程)更新UI?
- 16. Javafx從線程更新UI Java 8
- 17. 從後臺更新UI線程
- 18. 從外部UI線程更新gridview
- 19. 如何從線程更新UI?
- 20. 從另一個線程更新UI(progressDialog)
- 21. C#WPF從工作線程更新UI
- 22. 從多個後臺線程更新UI
- 23. 從後臺線程更新UI
- 24. QT Jambi:從其他線程更新UI
- 25. 從線程更新UI元素
- 26. 從另一個線程更新UI
- 27. 從WinRT中的線程更新UI
- 28. 使用audiotrack從線程更新ui
- 29. 從非UI線程更新控件
- 30. 如何從線程更新UI
線程可能是矯枉過正,除非有一些阻塞操作與它關聯。與'postDelayed(runnable,2000)'結合使用的Handler可能適合您的需求。 http://developer.android.com/reference/android/os/Handler.html – DeeV 2012-04-04 12:46:52