用户触摸DatePicker后立即隐藏键盘

时间:2014-07-17 14:31:17

标签: android ontouchlistener

我有2个EditText字段,我有用户填写,然后是DatePicker。我试图在用户触摸DatePicker时立即隐藏键盘(因为键盘覆盖了保存/取消按钮。)

dpDate.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                hideSoftKeyboard();
                return false;
            }
        });

public void hideSoftKeyboard() {
        if(getCurrentFocus()!=null) {
            InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
            inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
        }
    }

这是我目前所拥有的,然而,它似乎没有起作用。当我触摸DatePicker时,单击它,任何东西......键盘都不会消失。

感谢任何帮助!

编辑: 布局如下

Amount: (EditText)
Memo:   (EditText)
Date:   (DatePicker)
--------------------
Cancel            OK

当用户触摸该日期选择器以更改日期时,我立即希望键盘消失。

1 个答案:

答案 0 :(得分:0)

因此,您可能需要Context.INPUT_METHOD_SERVICE而不仅仅是INPUT_METHOD_SERVICE