代码改变世界

EditText获得焦点后,如何关闭软键盘

2011-09-20 23:01  清炒白菜  阅读(736)  评论(0编辑  收藏  举报

EditText获得焦点后, 会自动打开软键盘,这时候想让“EditText失去焦点,并关闭软键盘”, 暂时还没有找到完美的解决方案,因为EditText失去焦点功能未能完美实现。

所以采用了OnTouch Activity上某个大块控件,强制关闭软键盘的方法。

getListView().setOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

hideSoftKeyboard();

return false;

}

});

private void hideSoftKeyboard(){

InputMethodManager inputManger = (InputMethodManager) getBaseContext().getSystemService(Context.INPUT_METHOD_SERVICE);

if(inputManger != null){

inputManger.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);

}

}

getListView()可以改成任意其他需要做事件绑定的控件对象。