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

Owe*_*hao 13 android webview loaddata

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

webview.loadData(result, "text/html; charset=UTF-8", null);
webview.loadData(result, "text/html; charset=UTF-8", null);
Run Code Online (Sandbox Code Playgroud)

我必须做两次,否则webview将保持不变.有谁知道这里发生了什么?由于结果String是相同的,为什么webview强迫我两次loadData?

M. *_*han 28

避免WebView#loadData(字符串数据,字符串mimeType,字符串编码) - 它是错误的.

请改用WebView#loadDataWithBaseURL(String baseUrl,String data,String mimeType,String encoding,String historyUrl).

所以你的指示将是:

webview.loadDataWithBaseURL(null,result,"text/html", "utf-8", null);
Run Code Online (Sandbox Code Playgroud)

  • 它对我有用,实际上挽救了我的一天。谢谢。你能解释一下第一个有什么问题吗? (3认同)