当前位置:  开发笔记 > 前端 > 正文

Android WebView - 1st LoadData()工作正常,后续调用不更新显示

如何解决《AndroidWebView-1stLoadData()工作正常,后续调用不更新显示》经验,为你挑选了2个好方法。

在第一次调用LoadData()之后,事件onLoadResource将按原样触发并且显示正常.接下来我想用新页面刷新屏幕,当我第二次使用LoadData()页面没有更新时,onLoadResource()不会发生火灾.

然后第二次调用LoadData()只对onPageFinished发生... onPageStarted永远不会触发!

解决方法是在LoadData()之后调用.reload(),但这会在活动中的其他逻辑中导致各种问题.

为什么LoadData()不能多次工作?

我使用非常简单的HTML,因为使用.reload()使它工作我的LoadData()语句似乎不是问题.

任何想法都会有所帮助,TIA



1> 小智..:

使用

webview.loadDataWithBaseURL("same://ur/l/tat/does/not/work", "data", "text/html", "utf-8", null);

它工作正常.loaddata下次加载数据时不刷新.



2> John Carrell..:

出于某种原因,您必须先清除内容."load ..."方法似乎没有明确地附加其内容,但它不起作用.我认为它曾经是,WebView.clearView()但已被弃用.Android 网站上已弃用方法的文档实际上会告诉您使用WebView.loadUrl("about:blank")该方法的替代方法.所以...

WebView.loadUrl("about:blank");
WebView.loadData(data, mime, encoding);

......对我有用.它似乎有点脏,但我不敢违反谷歌!我不确定是否有其他人这样做,但我只是加载了一个字符串,因为我读过"资产".我用它来显示帮助文档.所以我没有使用任何实际的URL; 我只是将WebView用作HTML渲染器.

注意:对于那些新手(就像我大约一个月前一样),请确保将"WebView"替换为变量的实例.这些不是静态方法.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有