[問題] EditText部分文字變色

作者: ptthao (優文保證)   2016-06-27 22:53:32
我想做類似FB Tag的功能
當使用者輸入#+文字的時候
#後面的文字會變色 直到使用者輸入空白、特殊字元或換行為止
我目前的做法是繼承EditText然後實作onTextChanged
使用正則找到符合輸入規則的字
再用SpannableString setSpan做變色
最後setText(spannableString);
我用asus測試都沒問題
但是...用htc就QQ
http://i.imgur.com/pmaiY69.jpg
asus的輸入是選完字才會輸入到EditText裡 才會跑onTextChanged
但是htc卻是每按任何一個字都會輸入到EditText
也就是我可能打"ㄏ"
根本還沒選字 EditText裡面已經輸入"ㄏ"的第一個字 (如: "哈")
所以就會進到onTextChanged
然後跑到最後的setText就不用選字了 就會直接輸入進EditText
所以當我一直輸入"ㄏㄏㄏ" 他就會完全不能選字的打成"哈哈哈"
請問是我流程寫法出問題嗎
還是有辦法可以關掉htc的中文建議選字
我把EditText的inputTpye="textNoSuggestions|textVisiblePassword"
英文的建議選字是關掉了
但中文不行QQ
好像敘述的不是很清楚...但我盡力了
如果有哪裡不清楚的我再補充
謝謝!
作者: mshockwave (夏克維夫)   2016-06-28 09:52:00
我覺得是鍵盤問題
作者: bassgod (bassgod)   2016-06-28 17:00:00
會不會是因為全形字
作者: ptthao (優文保證)   2016-06-28 17:06:00
我用Spannable取代SpannableString就解決這個問題了~~這樣可以避免每次文字更動都要再setText

Links booklink

Contact Us: admin [ a t ] ucptt.com