在显示对话框屏幕时TabView内部的Webview崩溃

问题描述:

我在TabView中有一个WebView。 webView有一个按钮。当按下按钮时,微调器打开。 我只是用URL加载webview。动作监听器和微调器是从服务器端触发的。在显示对话框屏幕时TabView内部的Webview崩溃

webview = (WebView) findViewById(R.id.webview); 
.... 
.... 
webview.loadUrl(locationUrl); 

我的应用程序是在Android 2.2上开发的。它在OS 2.2的设备上工作正常,但在2.3中崩溃。

下面是日志

11-24 13:44:24.878: ERROR/AndroidRuntime(2684): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.view.ViewRoot.setView(ViewRoot.java:527) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.view.Window$LocalWindowManager.addView(Window.java:424) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.app.Dialog.show(Dialog.java:241) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.webkit.WebView$InvokeListBox.run(WebView.java:7583) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.os.Handler.handleCallback(Handler.java:587) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.os.Handler.dispatchMessage(Handler.java:92) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.os.Looper.loop(Looper.java:130) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at java.lang.reflect.Method.invokeNative(Native Method) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at java.lang.reflect.Method.invoke(Method.java:507) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-24 13:44:24.878: ERROR/AndroidRuntime(2684):     at dalvik.system.NativeStart.main(Native Method) 
+0

似乎你的背景超出了范围。使用getApplictionContext()来显示dailog – Arslan

使用的getParent()获取父上下文。由于这是一个选项卡,所有事情都是在父上下文中完成的。