Activity中啓動Fragment

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" />

相關文章
相關標籤/搜索