android - HTML.fromHtml 换行符消失

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

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

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

最佳答案

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

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

https://stackoverflow.com/questions/11625330/

相关文章:

r - 如何在不丢失行名和列名的情况下对 R 中的平面列联表进行子集化?

eclipse - 如何配置 Eclipse 格式化程序在字段声明之间不插入空行?

python - 设置 ipython 的默认科学记数法阈值

python - 将任意文本格式化为漂亮的 HTML 的 Python 模块的名称是什么?

formatting - 使用 LaTeX Beamer 将引文文本放在同一张幻灯片上

vim - 在 Vim 中轻松将函数参数重新格式化为多行

asp.net-mvc - 电话号码或社会保险号的 DisplayFormat.DataFormat

java - 是否可以在 Eclipse 中将部分 java 代码标记为不自动格式化?

bash - UNIX 统计时间格式

floating-point - 如何格式化具有特定精度和前置零的 f32?