Activity需要繼承自FragmentActivity
Activity綁定Fragment有兩種方法:
一:動態代碼
聲明變量(來自android.support.v4.app包)
FragmentManager fragmentManager;
FragmentTransaction transaction;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Fragment啟動方法封裝
replaceFragment(new FragmentLogin());
}
//Fragment啟動方法:
private void replaceFragment(Fragment fragment) {
// 1.獲取FragmentManager,在活動中可以直接通過調用getFragmentManager()方法得到
fragmentManager =getSupportFragmentManager();
// 2.開啟一個事務,通過調用beginTransaction()方法開啟
transaction = fragmentManager.beginTransaction();
// 3.向容器內添加或替換碎片,一般使用replace()方法實現,需要傳入容器的id和待添加的碎片實例
transaction.replace(R.id.fr_container, fragment); //fr_container不能為fragment布局,可使用線性布局相對布局等。
// 4.使用addToBackStack()方法,將事務添加到返回棧中,填入的是用於描述返回棧的一個名字
transaction.addToBackStack(null);
// 5.提交事物,調用commit()方法來完成
transaction.commit();
}
二、xml布局文件綁定Fragment
在xml文件中聲明name屬性,找到對應的Fragment.class
//必須指定name,找到對應的class,並且在class里
setContentView(R.layout.activity_main);找到相應的Fragment的布局xml文件
<fragment
android:id="@+id/fr_container"
android:name="com.example.fragment.FragmentLogin"
android:layout_width="match_parent"
android:layout_height="match_parent" />