最近的項目中使用了Fragment,經過參考文檔和網上相關文章,對Fragment的一些總結以下:git
Android Fragment API兼容Android 1.6到3.0之間的版本,使用Fragment API能夠很好的解決Android分辨率衆多的問題,Fragment因爲是Android Honeycomb的新特性,若是向下兼容必須發佈相應的靜態庫,使其支持。而官方文檔中TabActivity已被標記爲deprecated,建議使用Fragment代替。github
首先附上兩個相關案例:ide
Fragment有本身的生命週期,接收本身的輸入事件,你能夠添加或移除從運行中的activity。 一個Fragment必須老是嵌入在一個Activity中,同時Fragment的生命週期受Activity而影響,舉個例子吧,當Activity暫停,那麼全部在這個Activity的Fragments將被destroy釋放。然而當一個Activity在運行好比resume時,你能夠單獨的操控每一個Fragment,好比添加或刪除。ui
Fragment的生命週期以下圖所示:對象
onCreate()blog
當建立fragment時, 系統調用此方法.繼承
在實現代碼中, 應當初始化想要在fragment中保持的必要組件, 當fragment被暫停或者中止後能夠恢復.生命週期
onCreateView()
fragment第一次繪製它的用戶界面的時候, 系統會調用此方法. 爲了繪製fragment的UI, 此方法必須返回一個View, 這個view是你的fragment佈局的根view. 若是fragment不提供UI, 能夠返回null.
onPause()
用戶將要離開fragment時,系統調用這個方法做爲第一個指示(然而它不老是意味着fragment將被銷燬.) 在當前用戶會話結束以前,一般應當在這裏提交任何應該持久化的變化(由於用戶有可能不會返回).
大多數應用應當爲每個fragment實現至少這3個方法, 可是還有一些其餘回調方法你也應當用來去處理fragment生命週期的各類階段.所有的生命週期回調方法將會在後面章節 Handling the Fragment Lifecycle 中討論.
除了繼承基類 Fragment , 還有一些子類你可能會繼承:
DialogFragment
顯示一個浮動的對話框.
用這個類來建立一個對話框,是使用在Activity類的對話框工具方法以外的一個好的選擇,
由於你能夠將一個fragment對話框合併到activity管理的fragment back stack中, 容許用戶返回到一個以前曾被摒棄的fragment.
ListFragment
顯示一個由一個adapter(例如 SimpleCursorAdapter)管理的項目的列表, 相似於 ListActivity.
它提供一些方法來管理一個list view, 例如 onListItemClick() 回調來處理點擊事件.
PreferenceFragment
顯示一個 Preference對象的層次結構的列表, 相似於 PreferenceActivity.
這在爲你的應用建立一個"設置"activity時有用處.
具體的使用方法請參考官方文檔。