我的Android应用程序有一个要求,其中某个流程有7个不同的屏幕。现在每个屏幕都有一个共同的顶部和底部。所以我选择创建一个FragmentActivity
和7个不同的Fragments
。如何在运行时将片段插入FragmentActivity
?我已阅读本教程here,并按照本教程中我的主要FragmentActivity
应具有以下布局:使用片段布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/fragment_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
它应该使用下面的代码替换片段:
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_content);
if (fragment == null) {
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_content, new BasicFragment());
ft.commit();
}
什么我不“T明白的是下面的行:
ft.add(R.id.fragment_content, new BasicFragment());
R.id.fragment_content
是FrameLayout
,将这种插入片段变成FrameLayout
还是什么?
应该使用'tag'识别'Fragment'。如果你的'Fragment's在xml中,你可以使用'id',这里不是这种情况,你可以通过编程方式添加它们(更好的方法)。 – 2013-04-07 19:44:11