如何在任何点击事件上关闭键盘?

时间:2016-02-25 09:32:50

标签: android

我在屏幕上有多个编辑文本和按钮,每按一下按钮就有一些验证,如果验证成功,那么我必须隐藏键盘。我尝试了很多代码,但没有任何效果。 目前我正在使用,

NSMutableDictionary

这是切换,如果键盘被隐藏,它会打开,但我想隐藏键盘是否打开。

3 个答案:

答案 0 :(得分:1)

  

创建一个这样的函数,并通过传递上下文从任何地方调用   像这样:

public static void hideKeyBoard_WithView(Context context) {

       // Check if no view has focus:
        View view = ((Activity) context).getCurrentFocus();
        if (view != null) {
            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }

    }

希望它会对你有所帮助! :)试试吧!

答案 1 :(得分:1)

edittext.setFocusable(true);
edittext.setFocusableInTouchMode(true);

//尝试使用此..当你不需要键盘时,将参数设为false。在编辑文本上编写onclick方法&将参数设为true以重新获得焦点

答案 2 :(得分:0)

获取当前焦点视图并使用该视图窗口标记隐藏键盘。

View view = this.getCurrentFocus(); // get current focussed edittext
    if (view != null) {  
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }