0

これは非常に単純な作業のように感じますが、多くの問題があります。私のプログラムでは、自分用に WebView クラスを拡張し、プログラムでレイアウトに追加しようとしています。これが私のコードです:

Looper.prepare();
Handler handler = new Handler();
handler.post(new Runnable() {
public void run() {
            MyWebView webView = new MyWebView(context,1,2,3,4);
            appState.projectWebView.add(webView);
            addView(webView);
                   }
});

このコードを実行しても実行されません。理由がわかりません。ありがとうございました。

4

1 に答える 1

4

UI スレッドHandlerの外側に を作成することはできません。できますが、そのスレッドをメッセージ キューに変える必要があります。Looper.prepare()

必要なことはActivity、サンプル内のコードを含むクラスに を渡し、それを呼び出すrunOnUiThread()ことです。または、 UI スレッドHandlerで作成されたを渡すこともできます。たとえば、UI を実行するスレッドで作成し、そのハンドラーを呼び出すことができます。Activitypost

これはひどいアドバイスであることに注意してください.Androidフレームワークに対して何かをしようとしているようです. しかし、あなたが実際に何をしようとしているのかについてのさらなる情報がなければ、何とも言えません。

于 2012-12-29T00:29:19.563 に答える