我有一个名为content
. 里面是一些格式化的文本。然后我想通过执行以下操作在查看格式化文本和 html 之间切换:
if(!showHtml)
content.setText(Html.fromHtml(content.getText().toString()), BufferType.SPANNABLE);
else
content.setText(Html.toHtml(content.getText()));
如果格式化的文本是“test test ”,那么 html 会<p>test <b>test </b></p>
很好,但是当返回时,格式会丢失,我会得到“test test”。
如果格式化的文本是“ test test”,则 html 输出为<p><b>test</b> test</p>
,这又是正确的。但是,返回时得到的文本是“ test test ”。
所以看起来是第一个单词的格式应用于文本的其余部分(我已经在更长的字符串上进行了测试)。
有没有人遇到过这个问题,我该如何解决这个问题?
编辑 1似乎使用 EditText.setText(),它会自动使用 Editable 标志并完全忽略我对 Spannable 的请求。这可能是问题的根源吗?