我的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