@Neonoviiwolf
Flutter developer

Почему FragmentTransaction срабатывает впустую?

Доброго!
Есть код во фрагменте
public void onStart() {
        super.onStart();

        if (!transaction.isEmpty()) {
            transaction.commit();
        }
    }

Как я понимаю, после того, как фрагмент_1 стартанёт, должно провериться, содержит ли транзакция операции и если да, то их выполнит. Но если я сделаю транзакцию во фрагмент_2, то и во фрагмент_1
if (!transaction.isEmpty())
вернёт
tru
почему-то и приложение упадёт с
java.lang.IllegalStateException: Fragment already added:


При этом, чтобы приложение упало, нужно обязательно в одном фрагменте_х сделать транзакцию, а потом в любом другом
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Вообще, хотелось бы увидеть больше кода. Ты что-то делаешь не так. Почему в onStart фрагмента есть какая-то транзакция уже? Типичный способ использования транзакций это fm.beginTransaction().add()....commit(). То есть хранить транзакцию в поле класса, а тем более передавать её куда-то не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы