0

サブスレッドはUIを操作できますか?または、ハンドラーを使用してメインスレッドで操作することしかできません。しかし、私はこのコードを使用します。エラーは発生しませんでした。誰かアイデアがありますか?

new Thread(new Runnable() {
            public void run() {
                TextView tv=(TextView) findViewById(R.id.aaa);
                tv.setText("111");
            }
        }).start();
4

2 に答える 2

1

いいえ、別のスレッドからUI操作を実行することはできません。UIを更新する場合は、ハンドラーを使用する必要があります。または、非同期タスクまたはActivity.runOnUiThreadを使用することもできます。

于 2012-11-22T07:35:12.423 に答える
0

通常、メインスレッドのみがUIにアクセスする必要があります。それ以外の場合に例外を取得することは約束されていませんが、例外が発生する可能性は非常に高くなります。

UIを変更する方法であるため、handler//を使用する必要があります。他の方法が機能する場合もありますが、保証されていません。asyncTaskrunOnUiThread

于 2012-11-22T07:36:16.390 に答える