私は5秒ごとにビューの値を更新するためにアンドロイドでスレッドを作成しています.しかし、私はこの例外を取得しています:-
"E/AndroidRuntime(30793): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
これを行う他の代替手段はありますか?
私は5秒ごとにビューの値を更新するためにアンドロイドでスレッドを作成しています.しかし、私はこの例外を取得しています:-
"E/AndroidRuntime(30793): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
これを行う他の代替手段はありますか?
値をフェッチするタイマータスク(スレッドが実行できる)を作成し、ハンドラーを使用して値をUIスレッドに渡すことができます。ビューは、メイン/UIスレッドからのみ更新できます。
たとえば、これにはハンドラーを使用できます。
ハンドラーハンドル=null; Runnable runnable = null;
onCreate(){//メソッドで
handler = new Handler();
handler.post(runnable);
runnable = new Runnable(){
void run(){
handler.postDelayed(runnable,1000);// run will be call in every 1 seconds
// your code here to implement it will execute in every i second
}}
}
バックグラウンド スレッド内で再帰関数を使用し、関数の最後で待機してみてください。