Android输入法的隐藏(在dialog中)

如果是在正常的情况下我们都会这样去隐藏输入法

```

public static void showInputKeyboard(Context context , View view){

```

public static void showInputKeyboard(Context context , View view){

if (null != view){

InputMethodManager inputMethodManager = (InputMethodManager)     context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);

}

}

public static void hideInputKeyboard(Context context , View view){

if (null != view){

InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);

}

}

但是最近项目中出现了一特殊的情况,就是当edittext在dialog中的时候!这个时候去打开输入法或者隐藏输入法就有问题!解决的办法如下:

textWaterMarkdialog.setOnCancelListener(new DialogInterface.OnCancelListener() {

@Override

public void onCancel(DialogInterface dialog) {

// 隐藏输入法textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

}

});

textWaterMarkdialog.setOnDismissListener(new DialogInterface.OnDismissListener() {

@Override

public void onDismiss(DialogInterface dialog) {

// 隐藏输入法

textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

}

});

// 显示输入法                       textWaterMarkdialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容