-1

私は5秒ごとにビューの値を更新するためにアンドロイドでスレッドを作成しています.しかし、私はこの例外を取得しています:-

"E/AndroidRuntime(30793): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."

これを行う他の代替手段はありますか?

4

4 に答える 4

1

スレッドを使用してUIを更新しています。

1.ハンドラーハンドラーを使用してスレッド2からUIを更新するAsyncTaskonProgressUpdate(Progress ...)を使用してUIを更新することもできます

于 2012-08-10T13:31:50.253 に答える
0

値をフェッチするタイマータスク(スレッドが実行できる)を作成し、ハンドラーを使用して値をUIスレッドに渡すことができます。ビューは、メイン/UIスレッドからのみ更新できます。

于 2012-08-10T13:36:54.557 に答える
0

たとえば、これにはハンドラーを使用できます。

ハンドラーハンドル=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

}}

}

于 2012-08-11T08:21:52.270 に答える
0

バックグラウンド スレッド内で再帰関数を使用し、関数の最後で待機してみてください。

于 2012-08-10T13:39:06.957 に答える