android – 在RecyclerView内部的Webview有时只在Nougat设备上显示空白屏幕

前端之家收集整理的这篇文章主要介绍了android – 在RecyclerView内部的Webview有时只在Nougat设备上显示空白屏幕前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的Nougat设备中,RecyclerView内的webview有时是空白的.当我慢慢滚动然后回到webview项目内容消失. Android N以下的设备没有问题.Android N使用Chrome作为应用的默认浏览器.所以我认为Chrome中可能存在一个错误,所以我也在Chrome门户网站中提出了一个错误.在SO中有几个相关的问题,但这并没有解决我的问题.那么在Android webview设置中有哪种方法可以解决这个问题?我在bug链接中写了详细说明.

错误链接click here

我的WebView的onBindViewHolder方法代码

final VHItem vhItem = (VHItem) holder;

vhItem.webViewChild.getSettings().setUseWideViewPort(false);
vhItem.webViewChild.getSettings().setJavaScriptEnabled(true);

vhItem.webViewChild.loadData("<body>" + html + "</body>","text/html;charset=utf-8","utf-8");

哪里

html is the html string

更新

他们已经解决了这个问题.如果您仍然遇到同样的问题,请尝试将Android Chrome版本更新为61或更高版本.

解决方法

对于启动webview消耗内存,因为它必须加载并呈现html数据.我认为如果您使用以下两种方式之一实现它会更好,而不是在回收站视图中使用webview:

>您处理html中的数据列表并将其发送到webview并完全删除回收站视图
>您在xml中绘制预期内容的布局并将其直接膨胀到recyclerview并删除完成的webview. (注意:您可以根据适配器位置和该位置的数据将不同视图扩展到回收器中).

使用webview似乎是实现你正在尝试的任何东西的简单方法,但相信我,这些缺点超过了好处.所以最好避免它.

猜你在找的Android相关文章