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,所以這個問題還是其他相關的,如果在編輯文本的到底是不是選擇的話不會出現問題。