如何动态地将片段添加到现有片段?

时间:2015-08-26 14:36:09

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

我想在按下按钮时将片段添加到现有片段(按钮位于父片段上)但是我收到错误:java.lang.ClassCastException:必须实现OnFragmentInteractionListener。

这是什么意思,为什么没有任何一个例子呢?

父片段按钮按下代码:

Button interestedButton = (Button) myFragmentView.findViewById(R.id.interestedButton);
interestedButton.setOnClickListener(new View.OnClickListener() {
    InterestedFormFragment interestedFormFragment = new InterestedFormFragment();
    @Override
    public void onClick(View v) {
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction().add(R.id.interestedFrag_container, interestedFormFragment, "INTERESTED_FORM");
        fragmentTransaction.commit();
    }
});

父片段XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFFF"
android:layout_gravity="bottom"
android:id="@+id/buildingPageId">

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/interestedFrag_container"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
...

“interestedFrag_container”应该保存新添加的子片段。

我的父片段被充实并按住应该添加孩子的按钮。 我在这里错过了什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

嵌套片段仅在API 17之后添加。

您可以使用getChildFragmentManager()来管理嵌套片段。