1樓:匿名使用者
你可以把fragment當成activity的乙個介面的乙個組成部分,甚至activity的介面可以完全有不同的fragment組成,更帥氣的是fragment擁有自己的生命週期和接收、處理使用者的事件,這樣就不必在activity寫一堆控制項的事件處理的**了。更為重要的是,你可以動態的新增、替換和移除某個fragment。
1.fragment的生命週期
ragment必須是依存與activity而存在的,因此activity的生命週期會直接影響到fragment的生命週期。官網這張圖很好的說明了兩者生命週期的關係:
可以看到fragment比activity多了幾個額外的生命週期**方法:
onattach(activity)
當fragment與activity發生關聯時呼叫。
oncreateview(layoutinflater, viewgroup,bundle)
建立該fragment的檢視
onactivitycreated(bundle)
當activity的oncreate方法返回時呼叫
ondestoryview()
與oncreateview想對應,當該fragment的檢視被移除時呼叫
ondetach()
與onattach相對應,當fragment與activity關聯被取消時呼叫
注意:除了oncreateview,其他的所有方法如果你重寫了,必須呼叫父類對於該方法的實現
2.靜態的使用fragment
這是使用fragment最簡單的一種方式,把fragment當成普通的控制項,直接寫在activity的布局檔案中。步驟:
2.1、繼承fragment,重寫oncreateview決定fragemnt的布局
2.2、在activity中宣告此fragment,就當和普通的view一樣
3.動態的使用fragment
我們使用fragmentmanager對fragment進行了動態的載入,這裡使用的是replace方法
如果使用android3.0以下的版本,需要引入v4的包,然後activity繼承fragmentactivity,然後通過getsupportfragmentmanager獲得fragmentmanager。不過還是建議版menifest檔案的uses-sdk的minsdkversion和targetsdkversion都改為11以上,這樣就不必引入v4包了。
4.fragment常用的三個類:
為什麼python指令碼中使用中文會報錯解決方法已知
專門花了一下午,總結了python 2.x中,常見的編碼解碼方面的錯誤。更主要的是,先給你解釋清楚了背後的邏輯 然後再給你解釋,錯誤的現象,現象背後的原因,以及如何解決,並且教你如何舉一反三等等。此處只把幾種最常見的問題的原因給你摘錄過來 python中,想要將某字串解碼為對應的unicode,但是...
為什麼有的人報復心理很強,人為什麼會報復?人的報復心理有多強?
乙個可能長遠的心理影響,可能是潛意識的 自己無過受氣,可能會覺得要麼這個社會不公平,正義不存在 要麼覺得自己的價值低下,所以不受外界,甚至是親人的保護。這種自怨自艾的心態尤其不可取。解決方法很簡單。你只要意識到,君子報仇,十年不晚。如果你不理解,推薦借來 山伯爵 反覆閱讀,或者看一看電視劇集 琅琊榜...
為什麼父母做了很多缺德事,會報應在兒女或者自己身上!!難道真
父母也許做bai 了錯事,但du是大多事情都是為了zhi子女,如果自dao己為人父母就可回以慢慢理解,所以盡答量不要抱怨,而是要化解問題,解決事情,如果事情已經發生了,抱怨也沒有用,盡量調整心態,努力解決眼前之事。希望我的回到能幫到你。這只是巧和,或者父母教壞了孩子,孩子也去幹缺德事 這樣的父母不多...