在片段中查找片段

时间:2015-03-03 20:43:44

标签: android android-fragments

我有一个包含片段的片段,我想在onViewCreated或onCreateView上用它做些什么。我怎样才能找到那个内部片段?

这是容器碎片:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="@dimen/activity_horizontal_margin"
            tools:context="xx.activity.fragment.SalesFragment">
<fragment android:id="@+id/fragment_category"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/priceEdit"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="10dp"
        android:name="xxfragment"
        tools:layout="@layout/fragment_category"/>
</RelativeLayout>

使用FragmentManager

找不到内部fragment_category是不可能的
FragmentManager fm = getActivity().getSupportFragmentManager();
CategoryFragment catFrag = (CategoryFragment) 
fm.findFragmentByTag(CategoryFragment.ID);

返回null。

我是否必须让FragmentManager知道,还有另一个片段,还是有其他可能找到CategoryFragment?

1 个答案:

答案 0 :(得分:5)

您可能需要使用child FragmentManager与嵌套片段进行交互。

FragmentManager fm = parentFragment.getChildFragmentManager();