Activity中啟動Fragment


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM