Android webview org.chromium.content.browser.input.SelectPopupAdapter.getView

项目中需要使用Cordova 进行html 页面表单的操作。其中有效果为在webview 上弹出选项框,
代码如下:

<label class="field-value">
    <select name="xwplugin_ext_5_费用项目1" xwfield xwrequired xwerrmsg="必填 请选择选项" controltype="2"  >
        <option value="">请选择</option>
        <option value="交通费">交通费</option><option value="住宿费">住宿费</option><option value="业务招待费">业务招待费</option><option value="公关费">公关费</option><option value="办公用品">办公用品</option><option value="其他">其他</option>
    </select>
</label>

但在 8.0 的系统上报了问题:

StackTrace=Resource ID #0x0android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:245)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2184)
at android.content.res.Resources.getLayout(Resources.java:1175)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:416)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:407)
at org.chromium.content.browser.input.SelectPopupAdapter.getView(SelectPopupAdapter.java:13)
at android.widget.AbsListView.obtainView(AbsListView.java:2472)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1408)
at android.widget.ListView.onMeasure(ListView.java:1315)
...

解决方案

升级 compileSdkVersion 到 26,
更新 com.android.support:appcompat-v7 为 26

如:

compileSdkVersion 26
buildToolsVersion '26.0.3'
compile 'com.android.support:appcompat-v7:26.1.0'

如果 com.android.support:appcompat-v7:26.1.0 无法找到 ,可参考
Failed to resolve: com.android.support:appcompat-v7:27.0.1问题解决

参考资料:

Why does Android OS 8 WebVew with HTML select tag crash the app

https://issuetracker.google.com/issues/37137929

https://issuetracker.google.com/issues/77246450

猜你喜欢

转载自blog.csdn.net/haha_zhan/article/details/80311720