Аппаратное обеспечение BACK Btn не работает с первого раза

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

Фрагмент A -> Фрагмент B -> Фрагмент C

Аппаратное обеспечение назад Btn press работает нормально, когда я нахожусь на фрагменте B, и, таким образом, возвращаюсь к фрагменту A. Но на фрагменте C, когда я выполняю аппаратное обеспечение Backtn, нажимая, в первый раз ничего не происходит, и я просто получаю следующий журнал:

W / IInputConnectionWrapper: finishComposingText для неактивного InputConnection

После этого при второй попытке аппаратного возврата при нажатии вызывается onBackPressed() в действии, и фрагмент C выталкивается, а фрагмент B становится видимым.

У меня есть несколько оболочек редактирования текста в TextInputLayout на фрагменте C, но я не уверен, как они могут привести к такому поведению, если вообще.

Может кто-нибудь, пожалуйста, помогите мне понять, почему в первый раз аппаратное заднее нажатие кнопки Btn во фрагменте C onBackPressed() не вызывается, а только что появилось предупреждение?

Спасибо

private void navigateToFragment(@NonNull Fragment fragment, boolean addToBackStack, int enterAnim, int exitAnim, int popEnterAnim, int popExitAnim) {
            FragmentManager fragmentManager = getSupportFragmentManager();
            final FragmentTransaction transaction = fragmentManager.beginTransaction();


            transaction.setCustomAnimations(enterAnim, exitAnim, popEnterAnim, popExitAnim);
            transaction.add(R.id.member_address_root, fragment, fragment.getClass().getSimpleName());
            if (addToBackStack){
                transaction.addToBackStack(fragment.getTag());
            }
            transaction.commit();
        }

1 ответ

Если вы используете Android 6.0.0, то это известная ошибка, и она исправлена ​​в 6.0.1. Для получения более подробной информации перейдите по этой ссылке: https://issuetracker.google.com/issues/37069061

Другие вопросы по тегам