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