gpt4 book ai didi

Android WebView 错误地处理预格式化文本中的换行符

转载 作者:IT老高 更新时间:2023-10-28 23:40:17 28 4
gpt4 key购买 nike

如果我将此 HTML 推送到 WebView:

webView.loadData("<html><body><pre>line 1\nline 2</pre></body></html>", "text/html", "utf-8");

它呈现为(在模拟器和设备上)

line 1line 2

相对

line 1
line 2

正如我所料。如果我将此 HTML 保存到 sdcard 并在浏览器中打开文件,它会呈现良好。我想我做错了什么,或者这可能是一个错误。无论如何,我想以编程方式将带有预格式化换行符的 HTML 推送到 WebView 并呈现换行符。

最佳答案

传递给 loadData 的字符串需要进行 URI 转义。

您可以使用 URLEncoder.encode() 来执行此操作,但由于某种原因 WebView 不会将 '+' 解码回' '。一种解决方法是自己将所有 '+' 替换为 '%20'

例如(并带有 '+' 翻译):

try {
webview.loadData(URLEncoder.encode("<html><body><pre>line 1\nline 2</pre></body></html>", "utf-8").replaceAll("\\+", "%20"), "text/html", "utf-8");
} catch (UnsupportedEncodingException uee) {
Log.e("webview", "", uee);
}

关于Android WebView 错误地处理预格式化文本中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027084/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com