IllegalStateException“Activity Destroyed”在片段内添加片段(嵌套片段)

时间:2013-11-27 17:48:37

标签: android android-fragments nested fragment android-fragmentactivity

基本上这个问题已被多次询问herehere。给出的解决方案对我不起作用。在一些相关的答案没有由用户发布。 我想要嵌套片段。我的方案如下:

我有一个MainActivity,ProductEnterFrag和ProductListFrag,ProductDetailFrag。

我已经通过FragmentManager动态地将ProductEnterFrag添加到MainActivity。像这样:

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, new ProductEnterFrag());
ft.commit();

ProductEnter布局如下:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/fragContainer"
 android:layout_width="match_parent"
 android:layout_height="match_parent" />

我已将ProductListFrag添加到ProductEnterFrag,如下所示:

public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ProductListFrag(new ProductListFrag());
}

public void ProductListFrag(SherlockFragment frag) {
    getChildFragmentManager().beginTransaction().add(R.id.fragContainer, frag).commit();
    getChildFragmentManager().executePendingTransactions();`

}

ProductListFrag,其布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
           android:text="product1" />
</LinearLayout>

现在点击按钮,我想添加另一个片段,说ProductDetailFrag,它应该是另一个子片段。 当我尝试从ProductListFrag添加ProductDetailFrag时,如下所示:

new ProductEnterFrag().ProductListFrag(new ProductDetailsFrag());

它让我:java.lang.IllegalStateException: Activity has been destroyed

我是嵌套片段的新手。请帮助我,我做错了。我在最近2天遇到了这个问题。

0 个答案:

没有答案