Фрагмент Android java.lang.IllegalStateException: нет хоста

Я много ищу об этой проблеме, но ни один ответ не помогает мне. Я видел тот же вопрос в здесь, но это не может помочь, поэтому я публикую свой вопрос с надеюсь, что любой парень может мне помочь. Это серьезно для меня. У меня есть Activity (называется activity A, это MainActivity) с TabLayout и ViewPager, который содержит 5 Fragments.

В обычном случае все ок. Но когда-нибудь, если я попытаюсь снова открыть A1 по следующему сценарию

  1. Старт Activity А
  2. Из одного из 5 fragments выше я начинаю новую активность под названием B.
  3. Из B я попытался запустить Activity C
  4. Из C начните Activity A выше и очистите все activities в backstack intent.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, все вернется в норму.


person Thai Phan Dinh    schedule 10.05.2016    source источник
comment
Можете ли вы опубликовать код для простого примера, чтобы помочь другим людям воспроизвести его?   -  person Michiyo    schedule 10.05.2016
comment
Это большой проект со многими действиями и фрагментами, и я в журнале не указал, какая часть вызывает проблему, поэтому я не знаю, какую из них я мог бы опубликовать здесь :(   -  person Thai Phan Dinh    schedule 11.05.2016
comment
Но это делает очень трудным для кого-либо оказать помощь. Предположим, вы сделали копию своего проекта и начали удалять ненужные части. В идеале вы либо сами определите проблему (когда вы удалите что-то и проблема исчезнет), либо получите простой пример того, как воспроизвести проблему.   -  person Michiyo    schedule 11.05.2016