我在我的中设置了以下文本和样式EditText
:
SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append("Hello");
sb.setSpan(new StyleSpan(Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.append("World Test");
et.setText(sb);
结果是这样的:“ Hello World Test”。这可以。现在,当我将光标定位在“d”字符之后(即在分隔World
and的空格之前Test
)并输入一个字符时,Hello会自动失去其粗体样式。
这是为什么?这让我很困惑。仅当将光标直接定位在“d”之后World
并输入字符时才会发生这种情况。对于所有其他光标位置,它按预期工作。
为什么会这样以及如何解决?我希望你好保持粗体。