Hide to show and hide keyboard in DialogFragment

后端 未结 8 2199
花落未央
花落未央 2021-02-08 03:57

In my dialog fragment, I am able to show the keyboard using

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT STATE_VISIBLE);


        
相关标签:
8条回答
  • 2021-02-08 04:59

    The solution turned out to a combination of the following. To show the keyboard in a DialogFragment:

        @Override
        public void onResume()
        {
            super.onResume();
            editText.post(new Runnable()
            {
                @Override
                public void run()
                {
                    editText.requestFocus();
                    InputMethodManager imm =
                        (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                    if (imm != null)
                        imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
                }
            });
        }
    

    To hide it, use the solution above by @Shekhar

        @Override
        public void onDismiss(DialogInterface dialog)
        {
            InputMethodManager imm =
                (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm.isActive())
                imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
    
            super.onDismiss(dialog);
        }
    
    0 讨论(0)
  • 2021-02-08 04:59

    For Hiding the Keyboard use this:

     private void hideKeyboard() {
            try {
                InputMethodManager inputManager = (InputMethodManager) _activity
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                inputManager.hideSoftInputFromWindow(_activity.getCurrentFocus()
                        .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
            } catch (Exception e) {
            }
    }
    
    0 讨论(0)
提交回复
热议问题