尝试在Android WebView中打开SELECT标记会导致应用程序崩溃

前端之家收集整理的这篇文章主要介绍了尝试在Android WebView中打开SELECT标记会导致应用程序崩溃前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

大约一年前问了一个similar question,并没有完全解决,但无论如何我都会试试运气,也许有人知道这一点.

我有这个应用程序在WebView中运行几个HTML页面.一切看起来都不错,工作正常,直到你试图打开一个SELECT标签 – 繁荣,应用程序崩溃.
这是一个跟踪堆栈,如果这有帮助:

Thread [<1> main] (Suspended (exception WindowManager$BadTokenException))
AlertDialog(Dialog).show() line: 247
WebView$InvokeListBox.run() line: 7841
WebView$PrivateHandler(Handler).handleCallback(Message) line: 587
WebView$PrivateHandler(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 130
ActivityThread.main(String[]) line: 3859
Method.invokeNative(Object,Object[],Class,Class[],int,boolean) line: not available [native method]
Method.invoke(Object,Object…) line: 507
ZygoteInit$MethodAndArgsCaller.run() line: 840
ZygoteInit.main(String[]) line: 598
NativeStart.main(String[]) line: not available [native method]

(AlertDialog与打开选择框有什么关系超出了我.不,没有与打开警报的SELECT相关联的脚本).

现在,这是最好的部分.我正在测试2台设备上的应用程序,三星Galaxy S2与OS 2.3.3,和摩托罗拉RAZR XT910与OS 2.3.5.在三星上一切都很棒.然而,在RAZR上,上述情况发生了.

CSS和JavaScript的页面相当繁重,但即使删除了所有内容,它也会崩溃.实际上,带有单个SELECT控件的空HTML仍会崩溃.
从一年前的问题中提到的一些事情,我确实尝试过:

>从HTML中删除所有绝对和固定定位元素(实际上我删除了整个CSS只是为了看它是否有任何影响 – 它没有).
>确保SELECT是按书本编写的,没有伪造的属性/标签.

什么都没有帮助.

有没有人知道可能导致这种情况的最轻微的线索?

最佳答案
实际上你所做的是你已经将应用程序上下文传递给webview. SELECT标签基本上使用Android的原生AlertDialog显示其选项,后者需要一个活动上下文.

解决此问题,您可以通过布局(XML)文件传递活动上下文,如下所示.

tools:context=”com.myApp.Activities.WebViewActivity”

@H_301_55@ 原文链接:https://www.f2er.com/android/430554.html

猜你在找的Android相关文章