android - HTML.fromHtml 换行符消失

标签 android html formatting textview android-edittext

我从 EditText 框中获取跨区文本,并使用 HTML.toHtml 将其转换为 HTML 标记字符串。这工作正常。我已验证该字符串是正确的并且包含 <br>在适当的位置。但是,当我必须将标记字符串转换回跨区文本以使用 HTML.fromHtml 填充 TextView 或 EditText 时,<br> (或多个,如果它们存在)在第一段的末尾消失。这意味着如果用户输入带有多个换行符的文本并希望保留该格式,它就会丢失。

我附上了一张图片来帮助说明这一点。第一个 EditText 是用户输入,它下面的 TextView 是它上面的 EditText 的 HTML.tohtml 结果,它下面的 EditText 使用 HTML.fromHtml 使用它上面的 TextView 中的字符串填充。如您所见,换行符已消失,多余的行也已消失。此外,当第二个编辑文本的跨区文本通过 HTML.toHtml 运行时,它现在会生成一个不同的 HTML 标记字符串。

enter image description here

我希望能够从第一个 EditText 中获取带有 HTML 标记的字符串并填充其他 TextViews 或 EditTexts 而不会丢失换行符和格式。

最佳答案

我也遇到了这个问题,我找不到简单的“转换”或类似的解决方案。注意一些重要的事情,当用户按下“回车”时,java 会产生特殊字符 \n但在 HTML 中没有这样的换行格式。它是 <br /> .

所以我所做的是替换一些特定的CharSequence s,从纯文本,由替代的 HTML 格式。就我而言,只有“输入”字符,所以没有那么困惑。

关于android - HTML.fromHtml 换行符消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625330/

相关文章:

xpath - SoapUI属性传输和XPath/XQuery数字格式

arrays - Julia - 如何在 Linux 终端中很好地格式化数组

java - 从java中的字符串解析带有正/负前缀的数字

javascript - jQuery last-child 选择器不是 "refreshing"

html - 如何让 chrome 扩展全屏显示?

android - 是否可以在使用 Hyper-V 托管的 guest 操作系统上使用 HAXM?

java - Gradle下载 "Connection reset"错误如何解决

javascript - 我可以在特定像素处放置一个元素吗?

Android - compileSDKVersion "Google Inc.:Google APIs:22"和 "22"有什么区别?

java - 跨 Activity 共享 Android SQLite 数据库