我正在开发一个包含WebView
的应用程序。
对于某些指定URL,该网页可能包含一些用于选择语言,日期等的微调器小部件。
点击Spinner
后,它类似于android Spinner
,以便弹出Dialog
以供用户选择项目。
但是,即使Dialog
被销毁,WebView
也不会被忽略。
销毁WebView
后,程序崩溃我点击BACK
按钮取消对话框或点击其中一个项目。
是否可以从主机应用程序中解除此Dialog
,或者是否可以让此对话框对象对其执行任何操作?
这是我取消Dialog
时的日志:
E/AndroidRuntime( 7211): FATAL EXCEPTION: main
E/AndroidRuntime( 7211): java.lang.NullPointerException
E/AndroidRuntime( 7211): at android.webkit.WebView$InvokeListBox$4.onCancel(WebView.java:7134)
E/AndroidRuntime( 7211): at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1060)
E/AndroidRuntime( 7211): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 7211): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 7211): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 7211): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 7211): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 7211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 7211): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 7211): at dalvik.system.NativeStart.main(Native Method)
更新:我发现Dialog
是mListBoxDialog
中的字段WebView
。 Dialog
的{{1}}方法destroy()
被解除,但我不知道为什么它不会以这种方式表现。