[問題] 不要讓edittext失去焦點

作者: LaPass (LaPass)   2016-08-19 16:29:24
現在的狀況是這樣子
一個聊天界面軟體上
有一個edittext,可以輸入文字
有一個按鈕,按下去會會把edittext清空,並送出edittext內的文字
有個LinearLayout,可以用放訊息
現在的問題都是在焦點(Focus)上
1.按下按鈕後,edittext會失去焦點
如果想連續輸入句子的話,需要再點一次edittext,才能繼續輸入訊息訊息
=> 試過在OnClickListener裡面加上edittext.requestFocus();
但沒有用,我猜edittext是在OnClickListener被執行後才失去焦點的
2.如果正在輸入訊息,收到別人傳送來的訊息的時候
會塞Vew到LinearLayout
這時edittext也會失去焦點,導致輸入文字輸入到一半被中斷掉
在插入view之後加上edittext.requestFocus();也沒用
因為那樣會變成
原本游標在最後等候輸入
重新獲得焦點之後,會變成全選
請問這方面的焦點控制要怎麼處理?
作者: loxyz (loxyz)   2016-08-19 17:29:00
實作OnFocusChangeListener,覆寫onFocusChange,觀察看看
作者: LaPass (LaPass)   2016-08-19 17:40:00
看了一下,是點擊輸入框之外的行為都會取消edittext的焦點有辦法阻止失去焦點的事情發生嗎? XD
作者: ssccg (23)   2016-08-19 20:25:00
按button不會讓edittext失去focus啊layout、button這些預設都是非focusable的
作者: LaPass (LaPass)   2016-08-20 13:44:00
但實際上,遊標消失了啊
作者: ssccg (23)   2016-08-20 13:57:00
所以應該是去找你寫了什麼東西讓他失去focus
作者: petingo (皮挺哥)   2016-08-20 16:02:00
好像有一個focusable的屬性 把其餘的設成false看看?
作者: Jasonzheng (jason)   2016-08-20 17:42:00
原Po解決了沒 需要的話 我下班回家再寫給你@@
作者: LaPass (LaPass)   2016-08-20 17:43:00
還沒,我要禮拜一到公司才能試

Links booklink

Contact Us: admin [ a t ] ucptt.com