'IllegalStateException: - Aktivität wurde zerstört' wenn 'getSupportFragmentManager ()', genannt nach der Aktivität neu starten

Habe ich eine Eltern-Fragment-Aktivität, die einen ViewPager enthält ein Kind ViewPager. Das Kind ViewPager enthält Fragmente für jede Seite. Ich kommuniziere zwischen diesen untergeordneten Seite-Fragmente und die top-parent-Fragment Tätigkeit mit einem callback-interface z.B.

public interface Callbacks {
    public void onItemSelected(Link link);
}

In der Eltern-Fragment-Aktivität höre ich für onItemSelected Veranstaltungen z.B.

@Override
public void onItemSelected(Link link) {
    Bundle argumentsFront = new Bundle();
    argumentsFront.putParcelable(FragmentComments.ARG_ITEM_ID, link);
    fragmentComments = new FragmentComments();
    fragmentComments.setArguments(argumentsFront);
    getSupportFragmentManager().beginTransaction().replace(R.id.post_container, fragmentComments).commitAllowingStateLoss();
}

Nun, dies funktioniert gut, wenn die app zum ersten mal gestartet wird.

Wenn Sie schalten Sie das Gerät zur Veränderung der Ausrichtung der Aktivität neu gestartet. Alle Fragmente, reinitialisiert sich selbst habe, da ich setRetainInstance(true); (ich nicht nennen, setRetainInstance(true) auf der Seite Fragmente des Kindes ViewPager, da es nicht unterstützt). Jedoch wenn ich auf ein Listenelement in das Fragment des Kindes ViewPager bekomme ich diese exception:

FATAL EXCEPTION: main
java.lang.IllegalStateException: Activity has been destroyed
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1342)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
at android.support.v4.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:578)

Weiß jemand, warum dies passiert?

Dank

InformationsquelleAutor Milo | 2013-02-10
Schreibe einen Kommentar