2016-06-02 12 views
0

私はフラグメントViewPagerを持っており、各フラグメントの内側にはXMLで定義されたWebViewがあります。WebView自体が破壊される

私はアセットから文字列にHTMLファイルを読み込んでいます(何かを置き換える必要があります)。その後、StringをWebWiewにロードします。 正常に動作し、WebViewに正しい内容が表示されます。

これは私のコードです:

webWiew.setWebViewClient(new WebViewClient() { 
       @Override 
       public void onPageFinished(WebView view, String url) { 
        super.onPageFinished(view, url); 
        // show webview when page has fully loaded 
        view.setVisibility(View.VISIBLE); 
       } 
      }); 


webWidget.getSettings().setJavaScriptEnabled(true); 
String html = Helper.getHtmlAsString(getContext()); 
if (html != null) { 
    html = html.replace(PLACEHOLDER, String.valueOf(pageId)); 
    webWidget.loadDataWithBaseURL(HTML_WIDGET_PATH, html, "text/html", "utf-8", null); 
} 

しかし、ページ間をスクロールしたときに、私は次のエラー(WebViewのはまだコンテンツを表示することに注意してください)を取得:

D/webviewglue: nativeDestroy view: 0x1d8b9d0 
D/webview: webview.destroy() is called. 
D/webview: java.lang.Throwable: webview.destroy() callstack 
           at android.webkit.WebView.destroy(WebView.java:2449) 
           at android.webkit.WebView$10.run(WebView.java:5335) 
           at android.os.Handler.handleCallback(Handler.java:605) 
           at android.os.Handler.dispatchMessage(Handler.java:92) 
           at android.os.Looper.loop(Looper.java:137) 
           at android.app.ActivityThread.main(ActivityThread.java:4507) 
           at java.lang.reflect.Method.invokeNative(Native Method) 
           at java.lang.reflect.Method.invoke(Method.java:511) 
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978) 
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 
           at dalvik.system.NativeStart.main(Native Method) 

を私はWebViewのを破壊していないですどこにでも私はwebview.destroy()と呼んでいません。

どのように私はこのエラーを回避することができますか?あなたのフラグメントのonDestroy()メソッド

protected void onDestroy() 
{ 
yourwebViewPlaceholder.removeView(yourWebView); 
yourWebView.removeAllViews(); 
yourWebView.destroy(); 
} 

これはあなたのために働くなら、私を知ってみましょうにこのコードを入れしようと

+0

フラグメントビューアビューアを使用していますが、フラグメントが破棄されている可能性がありますか? –

+0

はい、おそらくそうですが、ウェブビュー後にシステムがクリーニングをしてはいけませんか? – fanboy555

答えて

0

! :)

+0

既に試してみましたが動作しません。 – fanboy555

+0

あなたのonDestroyのフラグメントからすべてのビューを削除してみてください – Garry

関連する問題