6

BuiltInZoomControls を有効にして WebView を使用しています。WebView でデータを適切に表示でき、ズーム コントロールを使用してズームすることもできます。しかし、クリックして前の画面に移動すると、例外が発生し、アプリがクラッシュします。(ズームコントロールを使用しない場合、他のことは正しく機能します。つまり、ズームコントロールは WebView で有効になっていますが、使用していません。WebView のコンテンツを表示してクリックしただけです。)

ウェブビュー:

mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setPluginState(PluginState.ON);

例外:

Activity com.web.ui.DetailActivity has leaked window android.widget.ZoomButtonsController$Container@4110c4e0 that was originally added here
.....

FATAL EXCEPTION: main
E/AndroidRuntime(670): java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@4110c2d0

....

そして、ActivityのonDestroyもこれを追加しています:

mWebView.getSettings().setBuiltInZoomControls(false);

何が問題なのか考えてみてください。助けが必要。

ありがとう

4

4 に答える 4

13

これをアクティビティに追加します。

@Override
public void finish() {
    ViewGroup view = (ViewGroup) getWindow().getDecorView();
    view.removeAllViews();
    super.finish();
}
于 2015-02-11T13:11:55.207 に答える
3

あなたがすることを確認してください

setVisible(false);

スーパーをonDestroy()呼び出す前、または webView オブジェクトで destroy() を呼び出す前に。

于 2013-02-05T16:44:07.970 に答える