Клавиатура скрыта, когда EditText сфокусирован - PullRequest
0 голосов
/ 19 марта 2019

У меня есть два фрагмента в одном действии, и оба фрагмента содержат один EditText.Когда первый EditText сфокусирован (показана клавиатура), и пользователь нажимает следующую кнопку на клавиатуре, я перенес фокус на EditText во втором фрагменте, используя этот код:

View next = autoCompleteTextView.focusSearch(View.FOCUS_DOWN);
    if (next != null) {
        next.requestFocus();
    }

ВторойEditText получает фокус, как и должно (курсор начинает мигать в нем), но клавиатура, которая была показана, скрывается.Я не понимаю, почему это происходит.Я пробовал миллион различных решений, чтобы снова показать клавиатуру, но ничего не работает.Я не знаю, почему это спрятано в первую очередь, я просто перенес фокус.

1 Ответ

0 голосов
/ 20 марта 2019

Единственное, что сработало для меня, это:

 mComposeMsgBody.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus && mComposeMsgBody.isEnabled()) {

                mComposeMsgBody.post(new Runnable() {
                    @Override
                    public void run() {
                        final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.showSoftInput(mComposeMsgBody, InputMethodManager.SHOW_IMPLICIT);
                    }
                });
            }
        }
    });

Но это не идеально, так как клавиатура пытается спрятаться, а потом я заставляю ее подняться, так что это 1второе движение вниз, которое делает клавиатура.Если у кого-то есть лучшее решение для простой передачи фокуса, когда клавиатура ничего не делает, отправьте ответ.

...