Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 禁用searchview的软输入键盘_Java_Android_Mono_Keyboard_Searchview - Fatal编程技术网

Java 禁用searchview的软输入键盘

Java 禁用searchview的软输入键盘,java,android,mono,keyboard,searchview,Java,Android,Mono,Keyboard,Searchview,我正在为searchview显示一个定制的键盘,并取消显示默认的软输入键盘。它工作得很好,除非当我试图拉动导航抽屉并将其释放时,会显示默认的软输入键盘。如何禁用actionbar searchview或特定活动的默认软键盘?到目前为止,我已经尝试了以下方法,但没有成功 将活动的WindowsOfInputMode设置为StateAllwaysHidden 将SearchView的输入类型设置为NULL 获取SearchView后面的基础EditText,并添加OnTouchListener并使用

我正在为searchview显示一个定制的键盘,并取消显示默认的软输入键盘。它工作得很好,除非当我试图拉动导航抽屉并将其释放时,会显示默认的软输入键盘。如何禁用actionbar searchview或特定活动的默认软键盘?到目前为止,我已经尝试了以下方法,但没有成功

将活动的WindowsOfInputMode设置为StateAllwaysHidden 将SearchView的输入类型设置为NULL 获取SearchView后面的基础EditText,并添加OnTouchListener并使用InputMethodManager隐藏默认软键盘
注意:我使用的是Mono Android,我能理解Java代码,所以请不要犹豫,给出任何Java解决方案

谢谢。我正在使用类似的方法隐藏默认键盘。但我不知道当应用程序失去焦点时,哪个事件会触发默认键盘显示,例如:当下拉通知栏、电池电量不足警报等特殊视图时,我认为是OnFocusChangeListener。如果你想找到它的全局事件,我不知道。也尝试过。没用。谢谢你的意见
/**
 * Toggle keyboard If the keyboard is visible,then hidden it,if it's
 * invisible,then show it
 * 
 * @param context
 */
public static void toggleKeyboard(Context context) {
    InputMethodManager imm = (InputMethodManager) context
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm.isActive()) {
        imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,
                InputMethodManager.HIDE_NOT_ALWAYS);
    }
}

/**
 * Hide keyboard
 * 
 * @param context
 */
public static void hideKeyboard(Context context,IBinder token) {
    InputMethodManager imm = (InputMethodManager) context
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    if(imm.isActive()){
        imm.hideSoftInputFromWindow(token,0);
    }
}