FragmentManage:
FragmentManager能夠實現管理activity中fragment. 通過調用activity的getFragmentManager()取得它的實例。
FragmentManager可以做如下一些事情:
1、使用findFragmentById() (用於在activity layout中提供一個UI的fragment)或findFragmentByTag() (適用於有或沒有UI的fragment)獲取activity中存在的fragment 2、將fragment從後台堆棧中彈出, 使用 popBackStack() (模擬用戶按下BACK 命令). 3、使用addOnBackStackChangeListener()注冊一個監聽後台堆棧變化的listener.
FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();每一個事務都是同時要執行的一套變化.可以在一個給定的事務中設置你想執行的所有變化,使用諸如 add(), remove(), 和 replace().然後, 要給activity應用事務, 必須調用 commit(). 在調用commit()之前, 你可能想調用 addToBackStack(),將事務添加到一個fragment事務的back stack. 這個back stack由activity管理, 並允許用戶通過按下 BACK 按鍵返回到前一個fragment狀態. 舉個例子, 這裡是如何將一個fragment替換為另一個, 並在後台堆棧中保留之前的狀態:
// Create new fragment and transaction Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); // Replace whatever is in the fragment_container view with this fragment, // and add the transaction to the back stack transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); // Commit the transaction transaction.commit();在這個例子中, newFragment 替換了當前layout容器中的由R.id.fragment_container標識的fragment.通過調用 addToBackStack(), replace事務被保存到back stack, 因此用戶可以回退事務,並通過按下BACK按鍵帶回前一個fragment. 如果添加多個變化到事務(例如add()或remove())並調用addToBackStack(), 然後在你調用commit()之前的所有應用的變化會被作為一個單個事務添加到後台堆棧, BACK按鍵會將它們一起回退. 添加變化到 FragmentTransaction的順序不重要, 除以下例外:
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11