Android Html.toHtml(editText.getText())返回的Html标记太多

Android Html.toHtml(editText.getText())返回的Html标记太多,android,html,android-edittext,styleable,Android,Html,Android Edittext,Styleable,我正在使用SpannableString在EditText中使用以下命令设置文本样式 str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), selectionStart, selectionEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), selectionStart, se

我正在使用SpannableString在EditText中使用以下命令设置文本样式

  str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), selectionStart, selectionEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), selectionStart, selectionEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    str.setSpan(new UnderlineSpan(), selectionStart, selectionEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
这将正确呈现样式化文本,如下所示 你好**你好姚

高正常

你好-黑体

如何使用-粗体+斜体

耀-粗体+斜体+下划线

但是当我执行
Html.toHtml(editText.getText())
时,它会返回

 <p><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">h</font></font></font></font></font></font></font></font></font></font></font></font></font>
</font></font></font></font></font>
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">i</font></font></font></font></font></font></font></font></font></font></font></font>
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
 </font></font></font></font></font></font>
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><b><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">h</font></font></font></font></font></font></b></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><font color ="#000000">
<font size ="3"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><b><font color ="#000000">
<font size ="3"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">o</font></font></font></font></font></font></b></font></font></font></font></font></font></font></font></font></font></font></font><font color ="#000000"><font size ="3"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><b><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><font color ="#000000"><font size ="3">w</font></font></font></font></font></font></b></font></font></font></font></font></font><b><font color ="#000000"><font size ="3"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"> </font></font></font></font></font></font></b><font color ="#000000"><font size ="3"><font size ="3">
<font color ="#000000"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><font size ="3">
<font color ="#000000"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><font size ="3">
<font color ="#000000"><font color ="#000000">
<font size ="3"><b><font color ="#000000">
<font size ="3"><i><font size ="3">
<font color ="#000000"><font color ="#000000">
<font size ="3">a</font></font></font></font></i></font></font></b></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font color ="#000000"><font size ="3">
<font size ="3"><font color ="#000000">
<font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3">
<font size ="3"><font color ="#000000">
<font color ="#000000"><font size ="3"><b><font color ="#000000"><font size ="3"><i><font size ="3"><font color ="#000000">
<font color ="#000000"><font size ="3">r</font></font></font></font></i></font></font></b></font></font></font></font></font></font></font></font></font></font></font></font><font color ="#000000"><font size ="3">
<font size ="3">
<font color ="#000000"><font color ="#000000">
<font size ="3"><b><font color ="#000000">
<font size ="3"><i><font size ="3">
<font color ="#000000"><font color ="#000000">
<font size ="3">e</font></font></font></font></i></font></font></b></font></font></font></font></font></font><b><font color ="#000000">
<font size ="3"><i><font size ="3"><font color ="#000000">
<font color ="#000000"><font size ="3"> </font></font></font></font></i></font></font></b><font color ="#000000"><font size ="3"><font size ="3">
<font color ="#000000"><font color ="#000000"><font size ="3">
<font color ="#000000"><font size ="3"><font size ="3">
<font color ="#000000"><font color ="#000000">
<font size ="3"><b><font color ="#000000">
<font size ="3"><i><font size ="3">
<font color ="#000000"><u><font color ="#000000"><font size ="3">y</font></font></u></font></font></i></font></font></b></font></font></font></font></font></font></font></font></font></font></font></font><font color ="#000000">
<font size ="3"><font size ="3"><font color ="#000000">
<font color ="#000000"><font size ="3"><b><font color ="#000000"><font size ="3"><i><font size ="3"><font color ="#000000"><u><font color ="#000000"><font size ="3">o</font></font></u></font></font></i></font></font></b></font></font></font></font></font></font><b><font color ="#000000"><font size ="3"><i><font size ="3"><font color ="#000000"><u><font color ="#000000"><font size ="3">u</font></font></u></font></font></i></font></font></b></p>

H
我
H
o
W
A.
R
E
Y
ou

这是预期的还是我遗漏了什么?建议请尝试以下方法:

Html.toHtml(editText.getText().toString());

希望这将为您提供所需的文本。

嗯,看来问题出在

Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
如果您阅读了文档,之后插入到字符串中的任何新文本都不会收到您指定的格式。为了在html中实现这一点,必须在每个字符中添加标记。所以你所拥有的似乎是你所期望的

如果你想有更少的标签,尝试使用

Spannable.SPAN_INCLUSIVE_INCLUSIVE
不同之处在于,之后插入到字符串中的任何文本都将具有与周围文本相同的格式。

Html.totoHtml(acceptsOnlySpannable)。我可能在其他地方添加了不必要的span。