Android監聽輸入框返回按鍵

pythopen 9年前發布 | 4K 次閱讀 Java Android

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

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

解決方案:

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

public class EditTextPreIme extends EditText {

public EditTextPreIme(Context context) {
    super(context);
}

public EditTextPreIme(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public EditTextPreIme(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

public void setCurrentDialog(RenameFolderDialogS4 dialog){
    mDialog = dialog;
}

@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        //when the softinput display
        //處理事件
    }
    return super.dispatchKeyEventPreIme(event);
}</pre> 


 本文由用戶 pythopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!