Я много ищу об этой проблеме, но ни один ответ не помогает мне. Я видел тот же вопрос в здесь, но это не может помочь, поэтому я публикую свой вопрос с надеюсь, что любой парень может мне помочь. Это серьезно для меня. У меня есть Activity
(называется activity
A, это MainActivity) с TabLayout
и ViewPager
, который содержит 5 Fragments
.
В обычном случае все ок. Но когда-нибудь, если я попытаюсь снова открыть A1
по следующему сценарию
- Старт
Activity
А - Из одного из 5
fragments
выше я начинаю новую активность под названием B. - Из B я попытался запустить
Activity
C - Из C начните
Activity
A выше и очистите всеactivities
в backstackintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
Я получил ниже Error
:
java.lang.IllegalStateException: нет хоста в android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1239) в android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1234) в android.support .v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2046) в android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1989) в android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java) :1092) в android.support.v4.app.FragmentManagerIm pl.moveToState(FragmentManager.java:1252) в android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) в android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) в android .support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
С тех пор я больше не могу запускать свое приложение, каждый раз, когда я пытаюсь запустить свое приложение, я получаю исключение с той же ошибкой, что и выше.
Я пытался использовать решение из этой темы, но все еще могу не решить мою проблему
Я исследую и обнаружил, что Exception возникает в классе FragmentManager по коду:
if (mHost == null && newState != Fragment.INITIALIZING) {
throw new IllegalStateException("No host");
}
Я понятия не имею, почему mHost
равно нулю, и каждый раз, когда я пытаюсь вызвать commit
из fragmentManager
, будет выброшено exception
.
Если я удалю data
из application
, все вернется в норму.