当webview写在布局文件中时,会提示android.view.InflateException: Binary XML file line #num: Error inflating class android.webkit.WebView
当不写在布局文件,动态创建时,依然会提示android.content.res.Resources$NotFoundException
测试发现只有Lollipop会出现该问题,低版本或高版本都没问题。功夫不到家,看日志看不出所以然,就去到处搜索。
最后在stackoverflow android-view-inflateexception-error-inflating-class-android-webkit-webview
找到了相关内容
动态创建webView:
new WebView(getActivity().createConfigurationContext(new Configuration()));
注意,这样会导致webview中的alert无法弹出
就可以解决
要是写在了布局文件,尝试将androidx.appcompat:appcompat
降级,
如1.0.2
。
所以降级是一个不错的选择。
如果对最新库有需求的话,可以尝试alpha或其他1.1.0的非正式版本(我没有尝试,网上说alpha04、beta01可以,不知道其他版本是否可以,网速够快有时间下载这些非正式版本的可以尝试一下)
至于为什么会出问题,还得抽时间研究。
webView 的其他问题
- Android N (7.0)之后 Webview导致多语言切换失效