[问题] 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