把一个片段放在另一个片段

时间:2016-05-04 13:26:17

标签: android android-fragments

我有片段(frag1),我想在其中放置另一个片段(frag2)。所以在frag1的XML文件中我放置了

        <fragment
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:id="@+id/fragment4"
        tools:layout="@layout/fragment_fragment1" />

但是当我启动应用程序时,我遇到了这个问题:

Binary XML file line #16: Error inflating class fragment 

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我们假设您有一个片段A和片段B.如果您想将片段B放入A中,请在片段A中执行此操作

FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager()
                            .beginTransaction();
                    Fragment profileFragment = new FragmentB();//the fragment you want to show
                    profileFragment.setArguments(null);
                    fragmentTransaction
                            .add(R.id.container, profileFragment);//R.id.content_frame is the layout you want to replace
                    fragmentTransaction.commit();

只需将视图环绕在需要放置片段B的框架布局上。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <...>  // The view over which you want your fragment
</FrameLayout>

请注意,此框架布局的ID与我在上面的add方法中传递的内容相同。

答案 1 :(得分:0)

不要在xml中使用 Fragment 而是使用 FrameLayout 替换并在活动中添加片段,请参阅以下链接可能会有所帮助

http://developer.android.com/training/basics/fragments/fragment-ui.html