का उपयोग कर तो मैं WebView मेमोरी लीक से बचने पर एक पोस्ट है, जो वेब दृश्य कंटेनर का उपयोग कर पता चलता है और उसके बाद प्रोग्राम के रूप में गतिविधि कोड में कंटेनर से वेबव्यू हटाने जोड़ने/पीछा किया: Memory leak in WebViewएंड्रॉयड BadTokenException जब एक WebView कंटेनर
हालांकि
:, मैं जब एक HTML तत्व है जो चयन करने के लिए विकल्पों की सूची का संकेत देता है पर क्लिक (जैसे दिनांक/माह ड्रॉप डाउन मेनू)W/dalvikvm(17767): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
W/WindowManager(129): Attempted to add window with non-application token WindowToken{4094b730 token=null}. Aborting.
FATAL EXCEPTION: main
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
android.view.ViewRoot.setView(ViewRoot.java:561)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
android.app.Dialog.show(Dialog.java:265)
android.webkit.WebView$InvokeListBox.run(WebView.java:9170)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:150)
android.app.ActivityThread.main(ActivityThread.java:4263)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)
मेरे पास है मेरे लेआउट में निम्नलिखित निम्न क्रैश मारा
mWebViewContainer = (FrameLayout)findViewById(R.id.webview_container);
mWebView = new WebView(getApplicationContext());
mWebViewContainer.addView(mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
मैं भी एक WebViewClient सेट:
FrameLayout
android:id="@+id/webview_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/titlebar">
/FrameLayout>
मैं OnCreate() में निम्नलिखित है।
मैं सत्यापित किया है कि mWebView.getWindowToken() एक गैर-शून्य मान है।
क्यों इस मुद्दे को हो रहा हो सकता है के रूप में कोई भी विचार?
संपादित करें: मैं कुछ और अधिक प्रयोग और चारों ओर देख किया है, लेकिन अभी भी इस समस्या हल नहीं किया है। यदि मैं सीधे वेब लेआउट को लेआउट में डालता हूं तो सब ठीक काम करता है। लेकिन मैं ऐसा नहीं करना चाहता क्योंकि मैं गतिशील रूप से वेबव्यू को स्वैप करने में सक्षम होना चाहता हूं।
करता है वेबव्यू? –