我在 android 中创建一个线程,每 5 秒更新一次视图值。但我得到了这个异常:-
"E/AndroidRuntime(30793): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
有没有其他选择可以做到这一点?
我在 android 中创建一个线程,每 5 秒更新一次视图值。但我得到了这个异常:-
"E/AndroidRuntime(30793): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
有没有其他选择可以做到这一点?
好吧,尝试在后台线程中使用递归函数并在函数结束时等待。
例如,您可以为此使用 Handler:
处理程序句柄 = null; 可运行可运行 = null;
在 onCreate(){ // 方法
handler = new Handler();
handler.post(runnable);
可运行=新可运行(){
无效运行(){
handler.postDelayed(runnable,1000);// run will be call in every 1 seconds
// your code here to implement it will execute in every i second
} }
}
您可以有一个 Timer Task 来获取值(线程可以执行)并使用处理程序将值传递给 UI 线程。只能从主/ UI 线程更新视图。