一般在android中的xml文件中使用fragment控件例如下:
<fragment
android:id="@+id/fragment1"
android:name="android_fragment.MyDialogFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> 这样的好处就是在XML中写完了不用在Activity中写东西就可以直接加载MydialogFragment中的onCreate()方法以及onCreateView()方法,
但是在使用FragmentManager在Activity中进行动态加载时,如果加载到XML控件为<fragment>的空间中就会报错,报错为:Error inflating class fragment
这时只要将<fragment>空间改为<FrameLayout>等(目前就使用了这一个控件,其他的没有测试过)就可以了。例如:
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />Activity中写:
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
MyFragment fragment = new MyFragment();
transaction.add(R.id.fragment, fragment);
transaction.commit();这也是在自己不断地摸索实验中发现的,希望能帮到大家!
本文介绍了在Android开发中如何正确使用Fragment。通过XML布局文件预加载Fragment可以简化代码,但使用FragmentManager动态加载时需注意避免<fragment>标签引发的错误。文章提供了具体的示例代码及解决方法。
2290

被折叠的 条评论
为什么被折叠?



