一般在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();
这也是在自己不断地摸索实验中发现的,希望能帮到大家!