のサブクラスではWebView
、オーバーライドされたメソッドにgetTitle()
次の行がありました。
String title = super.getTitle();
Android 4.1携帯電話でアプリをテストするまで、 Androidのすべてのバージョンで問題なく動作し、その行に次の警告が表示されました。super.getTitle()
12-20 21:38:27.467: W/webview_proxy(2537): java.lang.Throwable: 警告: スレッド 'WebViewCoreThread' で WebView メソッドが呼び出されました。 すべての WebView メソッドは、UI スレッドで呼び出す必要があります。WebView の将来のバージョンでは、他のスレッドでの使用がサポートされなくなる可能性があります。
それで、私はこの新しい法令を通過させることで回避することを考えていましたrunOnUiThread()
:
Activity a = this.getActivity();
a.runOnUiThread(new Runnable() {
public void run() {
String title = super.getTitle();
}
});
しかし、このコードは を参照するのではなく をsuper
参照するため、コンパイルさえできません。WebView
Activity
super.getTitle()
UIスレッドからの方法はありますか? (上記の制約getTitle()
により、 のサブクラスのWebView
)