У меня есть регистрационная деятельность, внутри которой у меня есть несколько фрагментов (шаг за шагом потока регистрацию) ..перехода Android-фрагмент происходит после того, как приложение входит фон
В деятельности, у меня есть этот метод updateRegistrationStage(), который обрабатывает фрагментный переход .. вот в чем проблема: 1) Я нажимаю кнопку «Продолжить», отправляю некоторые данные на сервер и ожидаю ответа. 2) Прежде чем получить какой-либо ответ, я нажимаю кнопку «домой», поэтому приложение вводит фон. 3), то я получил ответ и должен был перейти к следующему фрагменту ... в этот момент я звоню:
transaction = fm.beginTransaction();
transaction.add(R.id.registration_container, newFragment, newFragment.toString());
transaction.commit();
И приложение падает .. метание
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
, если я изменю последнюю строку
transaction.commitAllowingStateLoss();
Было бы сказать
java.lang.IllegalStateException: Activity has been destroyed
Я думаю, что это можно установить флаг, например, isActivityAlive, чтобы убедиться, что транзакция зафиксирована, когда активность еще жива ... но .. это довольно уродливо. Есть ли лучший способ отмены транзакции фрагмента, когда активность больше не активна.
вы можете дать мне более подробную информацию? какой должен быть правильный поток/структура .. пример? – xialin
см. Мое обновление выше – Tpec1k