作者ptthao (優文保證)
看板AndroidDev
標題[問題] EditText部分文字變色
時間Mon Jun 27 22:53:32 2016
我想做類似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
好像敘述的不是很清楚...但我盡力了
如果有哪裡不清楚的我再補充
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.206.184
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1467039219.A.0BB.html
※ 編輯: ptthao (123.240.206.184), 06/27/2016 22:54:21
→ mshockwave: 我覺得是鍵盤問題 06/28 09:52
→ bassgod: 會不會是因為全形字 06/28 17:00
→ ptthao: 我用Spannable取代SpannableString就解決這個問題了~~ 06/28 17:06
→ ptthao: 這樣可以避免每次文字更動都要再setText 06/28 17:07