我有片段(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
任何人都可以帮我解决这个问题吗?
答案 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