在第一次调用LoadData()之后,事件onLoadResource将按原样触发并且显示正常.接下来我想用新页面刷新屏幕,当我第二次使用LoadData()页面没有更新时,onLoadResource()不会发生火灾.
然后第二次调用LoadData()只对onPageFinished发生... onPageStarted永远不会触发!
解决方法是在LoadData()之后调用.reload(),但这会在活动中的其他逻辑中导致各种问题.
为什么LoadData()不能多次工作?
我使用非常简单的HTML,因为使用.reload()使它工作我的LoadData()语句似乎不是问题.
任何想法都会有所帮助,TIA
使用
webview.loadDataWithBaseURL("same://ur/l/tat/does/not/work", "data", "text/html", "utf-8", null);
它工作正常.loaddata
下次加载数据时不刷新.
出于某种原因,您必须先清除内容."load ..."方法似乎没有明确地附加其内容,但它不起作用.我认为它曾经是,WebView.clearView()
但已被弃用.Android 网站上已弃用方法的文档实际上会告诉您使用WebView.loadUrl("about:blank")
该方法的替代方法.所以...
WebView.loadUrl("about:blank"); WebView.loadData(data, mime, encoding);
......对我有用.它似乎有点脏,但我不敢违反谷歌!我不确定是否有其他人这样做,但我只是加载了一个字符串,因为我读过"资产".我用它来显示帮助文档.所以我没有使用任何实际的URL; 我只是将WebView用作HTML渲染器.
注意:对于那些新手(就像我大约一个月前一样),请确保将"WebView"替换为变量的实例.这些不是静态方法.