這是關於如何使用FragmentManager
的通用解決方案。它應該給出一個關於如何顯示Fragment
的好主意。除此之外,你可以在你的佈局中包含一個靜態片段。這取決於你如何接近它。
所以FragmentManager
的解決方案是這樣的:
YourActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = AnyFragment.instantiate(this, AnyFragment.class.getName());
fragmentManager.beginTransaction().add(R.id.fragment_placeholder, fragment).addToBackStack(null).commit();
}
如果要替換當前片段目標ID是在您的活動定義layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/fragment_placeholder"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></FrameLayout>
</LinearLayout>
後來你可以使用remove
和add
我FragmentManager的方法(replace
方法有點兒bug)。
Fragment currentFragment = fragmentManager.findFragmentById(R.id.fragment_placeholder))
fragmentManager.beginTransaction().remove(currentFragment).add(R.id.fragment_placeholder, yourNewFragment).addToBackStack(null).commit();
你可以在Activity的''onCreate()'方法中放入任何'Fragment'。看看'FragmentManager'。 –