猜测我有一个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