私がいくつか持っているとしましょうフラグメント:
public class FirstFragment extends Fragment { ... }
public class SecondFragment extends Fragment { ... }
public class ThirdFragment extends Fragment { ... }
メインもありますアクティビティ、その内容は(main.xml
):
<LinearLayout ...>
<!-- How to have a fragment placehold without specify which fragment show here? -->
<fragment>
</LinearLayout>
私の質問は、上記のレイアウトファイルで、ここに表示するフラグメントを指定せずにフラグメントプレースホルダーを定義し、次にMy Activity Java code、適切なフラグメントをプレースホルダーに膨らませますか?
それは可能ですか、そしてそれをどのように行うのですか?
可能です。 main.xmlで、フラグメントのプレースホルダーを定義し、「fragment_placeholder」と呼びましょう。
<LinearLayout ...>
<FrameLayout Android:id="@+id/fragment_placeholder" Android:layout_weight="1"
Android:layout_width="0px"
Android:layout_height="match_parent" />
</LinearLayout>
アクティビティでは、フラグメントをロードするときはいつでも:
YourFragment fragment = new YourFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_placeholder, fragment);
ft.commit();