Фрагменты нарисованы поверх каждого другого

Anonymous спросил: 11 июня 2018 в 10:03 в: android

Сценарий - это ... Я нажимаю кнопку, которая загружает следующий фрагмент. Пока анимация все еще идет, я нажимаю кнопку последних приложений. После показа последнего экрана приложений я вернусь в свое приложение.

Затем я вижу два фрагмента, нарисованных друг над другом. Как будто Android забыл удалить предыдущий фрагмент. Я нажимаю кнопку "Назад", чтобы удалить все фрагменты, пока не дойду до первого фрагмента, загруженного в эту FragmentActivity. Я записываю все фрагменты, которые я получаю из FragmentManager, и он показывает только один. Но я все еще вижу два фрагмента, нарисованных один поверх другого. Тот, который должен был быть удален, не отвечает на события касания, а другой отвечает так, как должен.

Является ли это ошибкой Android или моей ошибкой? Есть ли способ исправить это или предотвратить его?

Это происходит не каждый раз. Вот как я загружаю свои фрагменты

public void loadNewFragment(AnimFragment newFragment, boolean addToSTack, boolean animate, String tag) {    if (newFragment != null) {        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();        transaction.setCustomAnimations(R.anim.fragment_enter_from_right, R.anim.fragment_exit_to_left, R.anim.fragment_enter_from_left, R.anim.fragment_exit_to_right);        transaction.replace(R.id.fragment_container, newFragment, tag);        if (addToSTack) {
            transaction.addToBackStack(tag);
        }        int transactionId = transaction.commit();
        newFragment.setTransactionId(transactionId);
    }}

, и я удаляю их обратно, нажав

getSupportFragmentManager().popBackStackImmediate();

0 ответов