Android在輸入法界面監聽按鍵(以返回鍵為例)


需求:點擊Edittext,輸入法彈出,此時點擊返回鍵,必先響應輸入法,輸入法隱藏。

        要求在輸入法彈出的情況下,點擊返回鍵,我們的View也能收到信息從而處理事件。與輸入法隱藏同步。

解決方案:

  需要重寫自己的View的dispatchKeyEventPreIme方法。以我自己的EditText為例,在輸入法界面,點擊一次返回鍵,輸入法隱藏,同時EditText也要收到消息去處理事件。代碼如下,自定義EditText:

 1 public class EditTextPreIme extends EditText {
 2 
 3     public EditTextPreIme(Context context) {
 4         super(context);
 5     }
 6 
 7     public EditTextPreIme(Context context, AttributeSet attrs) {
 8         super(context, attrs);
 9     }
10 
11     public EditTextPreIme(Context context, AttributeSet attrs, int defStyle) {
12         super(context, attrs, defStyle);
13     }
14     
15     public void setCurrentDialog(RenameFolderDialogS4 dialog){
16         mDialog = dialog;
17     }
18     
19     @Override
20     public boolean dispatchKeyEventPreIme(KeyEvent event) {
21         if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
22             //when the softinput display
23             //處理事件
24         }
25         return super.dispatchKeyEventPreIme(event);
26     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM