Activity須要繼承自FragmentActivityandroid
Activity綁定Fragment有兩種方法:app
一:動態代碼佈局
聲明變量(來自android.support.v4.app包)spa
FragmentManager fragmentManager;
FragmentTransaction transaction;xml
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
繼承
//Fragment啓動方法封裝
replaceFragment(new FragmentLogin());事務
}get
//Fragment啓動方法:it
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();
}io
2、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" />