1. 程式人生 > >android Fragment獲取EditText 從軟鍵盤中輸入下一個action的監聽

android Fragment獲取EditText 從軟鍵盤中輸入下一個action的監聽

今天是2016年的第2天,還是覺得作為一個程式設計師,寫寫部落格來回顧自己在開發中遇到的一些問題,對自己來說是一個不錯的技術積累方式。這可以讓我對所遇到的問題有個更深刻的印象,也能對有遇到相同問題的朋友們能有個參考,廢話不多說,進入正題吧!
EditText 這個控制元件應該是在開發過程中用得比較多的一個控制元件,對於它的使用相信大家也都用得很熟了,我今天要說的是, 在Fragment 中,使用EditText 時,要從軟鍵盤中獲取得到鍵盤上“下一個”,“完成”這些action了, 這時,便可以切換到下一個EditText中繼續進行輸入的操作或關閉軟鍵盤了。
可能大家會問,重寫Activity的dispatchKeyEvent(KeyEvent event)方法,在方法中判斷event.getKeyCode() 不就行了麼,確實,這是當你在Activity 中使用EditText 時想要實現上方所述功能的一種方法。
看到這裡,可能細心的讀者會發現了,上面說的這個方法是重寫 Activity 中的方法,可是現在我們是在Fragment 中了,在Fragment 是沒有dispatchKeyEvent(KeyEvent event)這個方法的,那這時要怎麼辦呢,我跟大家都是一樣的,有問題時第一反應就是找度娘了,度娘也沒能讓我找到方法解決,最後還是自己瞎撞撞出來的。

如圖上的程式碼所示,只需要給EditText 加一個setOnEditorActionListener 的監聽即可,在重寫的方法裡去判斷當前點選的 actionId 是否是IME_ACTION_NEXT(下一個),IME_ACTION_DONE(完成,軟鍵盤會自動消失)。
最後說一句,第一次寫部落格可能描述得有些冗餘了,但這也是自己邁出的第一步了,希望自己能堅持下去,一步一個腳印,不斷積累。