Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
必须加载两次数据才能在Android中刷新WebView_Android_Webview_Loaddata - Fatal编程技术网

必须加载两次数据才能在Android中刷新WebView

必须加载两次数据才能在Android中刷新WebView,android,webview,loaddata,Android,Webview,Loaddata,当我第一次创建活动时,一切都很顺利。但是,在我选择“从菜单”后,更改字符串值的一些文本并设置webview webview.loadData(result, "text/html; charset=UTF-8", null); webview.loadData(result, "text/html; charset=UTF-8", null); 我必须做两次,否则webview将保持不变。有人知道这里发生了什么吗?既然结果字符串是相同的,为什么webview强制我加载数据两次?不知道您的问题是

当我第一次创建活动时,一切都很顺利。但是,在我选择“从菜单”后,更改字符串值的一些文本并设置webview

webview.loadData(result, "text/html; charset=UTF-8", null);
webview.loadData(result, "text/html; charset=UTF-8", null);

我必须做两次,否则webview将保持不变。有人知道这里发生了什么吗?既然结果字符串是相同的,为什么webview强制我加载数据两次?

不知道您的问题是什么,但是查看webview文档,您错误地使用了loadData方法:

您可能应该这样称呼您的webview:

webview.loadData(result, "text/html", "UTF-8");
不知道它是否能解决您的问题。

避免-它有问题

改用

因此,您的说明如下:

webview.loadDataWithBaseURL(null,result,"text/html", "utf-8", null);

是的,对于loadDataWithBaseURL,它确实会刷新数据,但随后它会忽略CSS主体背景颜色。。。至少它无法解析“%23000000”,它可以处理loadData。

我正在将本地HTML数据加载到我的webview中,而此webview位于recyclerview中, 当我第一次尝试webview.loadData()时,它工作正常,但当我向上向下滚动时,每个膨胀的webview都会出错。 当我尝试第二个webview.loadDataWithBaseURL()时,它的工作方式很有魅力


因此,当您在本地加载HTML时,它引用的资产(如图像和css)也在本地打包,请使用webview.loadDataWithBaseURL()

抱歉,您的答案甚至不接近。只要去谷歌翻译,用你自己的语言写一些东西,然后翻译成中文或日语。然后将这些字符复制到您的项目中,并比较我们的代码,您会发现我的webview与google translate相同,而您的webview中的字符错误。事实上,我的答案是完全错误的:D最后一个参数用于编码类型,如Base64或ASCII。很抱歉,我不能帮你解决你的问题。我和你以前一样,在代码中犯了那个错误。同样,还是要感谢你的努力。但是,如果是您标记的,请将答案移回0。我的声誉不足以让它恢复到0。我也有同样的问题。你找到办法了吗?没有,我只装了两次。因为总比不展示正确的东西好。我想可能和缓存有关。因此,如果您有时间,请尝试
public void clearCache(boolean includeDiskFiles)
public void clearchistory()
,看看它是否有效。我只是没有时间测试它,因为我正忙着做其他事情。所以请告诉我它们是否有效。谢谢。我发现了影响我案子的问题。My WebView是ViewSwitcher的子视图。我将WebView嵌入到线性布局中,这就是导致WebView在第一次加载时不显示的原因。删除线性布局解决了此问题。谢谢。但我的案子没有布局<代码>public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);webview=new webview(this);webview.getSettings().setBuiltInZoomControls(true);setContentView(webview)这对我来说很有效,而且实际上挽救了我的一天。谢谢。你能解释一下第一个有什么问题吗?不知道。看起来像一个缺陷对我不起作用。我在asset wv.loadDataWithBaseURL(“file:///android_asset/,sb.toString(),“text/html”,“utf-8”,null);