Android 如何取消微调器';由WebView中的微调器触发的对话框?

Android 如何取消微调器';由WebView中的微调器触发的对话框?,android,spinner,android-webview,Android,Spinner,Android Webview,我正在开发一个包含WebView的应用程序。 对于某些特定URL,网页可能包含一些微调器小部件,用于选择语言、日期等 一旦我点击微调器,它类似于android微调器,这样会弹出一个对话框供用户选择项目 但是,对话框不会关闭,即使网络视图已销毁。 WebView被销毁后,我单击BACK按钮取消对话框或单击其中一项,程序就会崩溃 是否可以从主机应用程序中关闭此对话框,或者是否可以让此对话框对象在其上执行任何操作 这是我取消对话框时的日志: E/AndroidRuntime( 7211): FATAL

我正在开发一个包含
WebView
的应用程序。 对于某些特定URL,网页可能包含一些微调器小部件,用于选择语言、日期等

一旦我点击
微调器
,它类似于android
微调器
,这样会弹出一个
对话框
供用户选择项目

但是,
对话框
不会关闭,即使
网络视图
已销毁。
WebView
被销毁后,我单击
BACK
按钮取消对话框或单击其中一项,程序就会崩溃

是否可以从主机应用程序中关闭此
对话框
,或者是否可以让此对话框对象在其上执行任何操作

这是我取消
对话框时的日志:

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)

更新:我发现
对话框
WebView
中的
mListBoxDialog
字段。在
WebView
destroy()
方法中,
对话框被取消,但我不知道它为什么不这样做。

我选择了代码行并按下CTRL+K使其看起来像一个代码。我通过指示当活动没有WindowFocus时不应销毁WebView,以某种方式解决了这个问题。但是,我不喜欢这样,因为我想在任何时候破坏WebView。有没有办法在webView中获取mListBoxDialog对象?