android - 为什么单击网页内容中的选择标签会导致崩溃?
问题描述
我有一个简单WebView
的启用和WebChromeClient
使用 JavaScript 的地方。我正在加载的网页内容有一个select
标签。当我点击它时,应用程序崩溃并出现以下错误片段:
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1351)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2774)
at android.content.res.Resources.getLayout(Resources.java:1165)
at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:378)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:369)
at org.chromium.content.browser.input.SelectPopupAdapter.getView(SelectPopupAdapter.java:56)
我找到了这个材料,但它没有帮助,我找不到任何解决这个问题的方法。据我所知,该应用程序仅在 Android 5 和 6 上崩溃。当select
HTML 的标签被按下时,Android 似乎试图显示自己的Spinner
. 它使用Resources
它以某种方式导致错误。我试图以编程方式创建WebView
,但没有帮助。这是我的代码:
val webview = WebView(this)
webview.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
rootLayout.addView(webview)
webview.webChromeClient = WebChromeClient()
webview.settings.javaScriptEnabled = true
webview.loadUrl(intent.getStringExtra(URL))
从谷歌的图书馆,我使用以下内容:
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0-beta01'
我的问题是如何避免这个错误?也许我们可以创建自定义WebView
?
解决方案
我减少androidx.appcompat:appcompat:1.0.2
了,它起作用了。但是,有时降级appcompat
版本并没有帮助。您应该查看可能导致问题的其他库。
推荐阅读
- javascript - 在谷歌地图上更新半径
- scilab - Scilab xcos 积分器
- typescript - 如何将jitsi meet融入aurelia
- pandas - Groupby - 生成日期时间作为序列
- ruby-on-rails - 创建新表单时出错:ActionView::Template::Error (undefined method `title'
- android - 为什么我的无障碍服务要求全屏控制?
- javascript - 如何使用位置粘性制作具有可变高度的多个浮动元素
- wordpress - 如果用户已登录,如何将注册页面重定向到我的帐户页面?
- java - 如何在 JavaEE 中的数据库中插入日期?
- android - Android - 带有 LiveData 的 DataBinding 保存旧值