美文网首页
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