我有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
当用户触摸该日期选择器以更改日期时,我立即希望键盘消失。
答案 0 :(得分:0)
因此,您可能需要Context.INPUT_METHOD_SERVICE
而不仅仅是INPUT_METHOD_SERVICE
。