美文网首页
dialog返回后软键盘不消失的解决方案

dialog返回后软键盘不消失的解决方案

作者: waiwaaa | 来源:发表于2020-02-19 15:45 被阅读0次

在一个Activity里弹出一个带输入框的Dialog时,碰到这样一个问题:当关闭Dialog时,返回Activity后总是会弹出输入键盘。而且即使关闭了也会弹出来,在OndismissListenerdismiss之后调用一次隐藏也没有解决。
最后解决方案为重写Dialogdismiss方法。
如下,写一个基类,自定义的输入dialog继承自该类

public class CustomInputDialog extends Dialog {
    protected CustomDialog(Context context) {
        super(context);
    }
 
    protected CustomInputDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
        super(context, cancelable, cancelListener);
    }
 
    protected CustomInputDialog(Context context, int themeResId) {
        super(context, themeResId);
    }
 
 
    @Override
    public void dismiss() {
        View view = getCurrentFocus();
        if(view instanceof TextView){
            InputMethodManager mInputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            mInputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
        }
 
        super.dismiss();
    }

相关文章

网友评论

      本文标题:dialog返回后软键盘不消失的解决方案

      本文链接:https://www.haomeiwen.com/subject/wgntzctx.html