4 第四單元 Fragment的基本使用

2021-09-24 10:36:03 字數 3260 閱讀 6029

三、fragmentmanager

fragment,英文碎片的意思,早期應用在平板設計中

1:切換fragment時不會重新建立,會保持fragment的狀態,切換前是什麼狀態切換後還是什麼狀態

2:一般需要結合hide和show方法一起使用

總結:如果fragment會頻繁的被使用,可以使用add方法

fragmenttransaction transaction =

getsupportfragmentmanager()

.begintransaction()

;fragmenta fragmenta=

newfragmenta()

; transaction.

add(

r.id.main_frame_layout, fragmenta)

;//transaction .

hide

(fragmentb)

;transaction.

show

(fragmenta)

;

1:replace方法,用fragmenta替換fragmentb

2:fragmenta在被replace後被銷毀ondestory()

總結:如果舊fragment無須再次使用,可以使用replace方法將其銷毀

使用replace()方法替換fragment

fragmenttransaction transaction =

getsupportfragmentmanager()

.begintransaction()

;fragmenta fragmenta=

newfragmenta()

;transaction.

replace(r

.id.main_frame_layout, fragmenta)

;transaction.

commit()

;

1:當fragmentb替fragmenta時,先呼叫remove()方法移除fragmenta,然後再呼叫add()方法新增fragmentb

2:此方法呼叫時,這個fragmenta將會被銷毀

總結:移除當前的fragment,設定為不可見,可能會被銷毀

fragmenta  fragmenta=

newfragmenta()

;transaction.

remove

(fragmenta);//使用remove()方法移除fragment

transaction.

show

(fragmentb)

;transaction.

commit()

;

1:切換到另外乙個fragment時,使用hide()方法將當前fragment隱藏

2:當該fragment需要被重新顯示出來的時候,使用show()方法完成

總結:隱藏當前的fragment,設定為不可見,但是並不會銷毀

fragmenta  fragmenta=

newfragmenta()

; transaction.

add(

r.id.main_frame_layout, fragmenta)

; transaction .

hide

(fragmentb)

;//hide():傳入要隱藏的fragment

transaction.

show

(fragmenta)

;//show():傳入要顯示的fragment

中文名稱:碎片管理器

出生日期:android 3.0/api level 11

助 理:fragmenttransaction

獲取方式:①android 3.0前的版本使用getsupportfragmentmanager()方法獲取

②android 3.0之後的版本用getfragmentmanager()獲取

1:獲得fragmentmanager物件

fragmentmanager fragmentmanager=getfragmentmanager();

2:開啟事務

fragmenttransaction transaction = fragmentmanager.begintransaction();

3:通過fragmenttransaction 呼叫add()、replace()方法管理fragment

4:transaction .commit();

homefragment類的**

public

class

homefragment

extends

fragment

}

final homefragment homefragment =

newhomefragment()

;//獲得管理者

// fragmentmanager manager1 = getsupportfragmentmanager();

//獲得事物管理者

// fragmenttransaction transaction = manager1.begintransaction();

//新增到回退棧

// transaction.addtobackstack("one");

//替換

// transaction.replace(r.id.frame,new homefragment());

//提交事務

// transaction.commit();

getsupportfragmentmanager()

.begintransaction()

.addtobackstack

("one").

replace(r

.id.frame,homefragment)

.commit()

;//簡寫

程式設計第四單元

程式設計第4單元 迴圈結構程式設計 陳嘉琦 2019215268 數學 3 第1課while語句 1.while語句 while語句格式 while 表示式 迴圈體 while語句含義 先計算表示式 一般稱為迴圈條件 的值,當表示式的值為真 迴圈條件成立 時,去執行一次迴圈體。執行完一次迴圈體後,w...

Android 二 第四單元

需要手動建立乙個fragment的類,布局檔案會自動建立,然後寫布局檔案裡的內容,可以和基礎的控制項一樣在別的布局檔案裡面呼叫出來。fragment的動態載入就是在 中手動新增到介面上,需要使用fragmentmanager就是fragment的管理者,然後使用fragmentmanager.beg...

OO第四單元總結

第一次作業我將umlelement進行分類,新建乙個封裝類uml,用介面和類進行例項化 新建乙個operation類例項化operation元素。在myumlinteraction的初始化,先找到所有的類和介面例項化uml。然後找到所有的方法,例項化operation類,並且將類根據parentid...