0
于选择的文本应用两个跨度后,这个问题是非常恼人所以我要多多跟踪下来的点点滴滴,所以你可以完全理解unspanned: -最后一个字符获取的EditText
首先,我选择的最后一个字在我的编辑文本像这样: -
到目前为止简单的话,我使文本加粗通过点击按钮(设定了一个大胆的跨度),像这样: -
下划线只是softkeyboard中的默认文本更正。然后我重新选择的文本: -
然后,当我让斜体以同样的方式(通过按下一个按钮设置斜体跨度)我得到这样的: -
最后字符不会从粗体中突出。这只发生在这种特定情况下,当我选择这个单词和单词在末尾的编辑文本。
而且我发现,当跨度为每个字符设置,如果其对整个单词它不会发生,就会出现此问题(对于粗体和斜体): -
//for each char
for (int i = 0; i < token.length(); i++) {//token is the word
SpannableString char = (SpannableString) token.subSequence(i, i + 1);
char.setSpan(new android.text.style.StyleSpan(Typeface.BOLD), 0,
char.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
但如果全字问题不会发生: -
// for the whole word
token.setSpan(new android.text.style.StyleSpan(Typeface.BOLD), 0,
token.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
但当然用户可以设置跨度对于一个char,所以这个问题还是其他相关的,如果在编辑文本的到底是不是选择的话不会出现问题。