首页 > 解决方案 > 为什么单击网页内容中的选择标签会导致崩溃?

问题描述

我有一个简单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 上崩溃。当selectHTML 的标签被按下时,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

标签: androidwebview

解决方案


我减少androidx.appcompat:appcompat:1.0.2了,它起作用了。但是,有时降级appcompat版本并没有帮助。您应该查看可能导致问题的其他库。


推荐阅读