三、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...