close

基本上還是要有一個 Activity,而 Activity 的 layout 檔裡則記載了 fragment 的資訊,像是位置、使用的類別等。寫自己的 Fragment 類別時,可以從 Fragment、ListFragment、DialogFragment、PreferenceFragment、WebViewFragment 這些現有的 Fragment 裡去繼承。

照慣例,有放在書上的程式碼只能參考,實際上會需要調整。因為是兩邊的,所以網路上的教學都會強調固定的寫法跟動態的寫法,書裡的寫法明顯是固定的寫法,變化則是由於右邊是 WebViewFragment 的關係而有所變化。動態調整的話,layout 不需要特別寫 fragment tag,程式則需要使用 FragmentManager 來增加,記得增加以後,要作 commit。

FragmentManager fragmentManager = getFragmentManager();
SummaryListFragment fragment = new SummaryListFragment();
fragmentTransaction.add(R.id.main_view, fragment);
fragmentTransaction.commit();

BackgroundFragment 是一個不可見的 Fragment,一般拿來溝通資料用,不要把他當作 Service 來用,生命週期是不一樣的。

FragmentManager 可以管理 Fragment,新增、刪除、取代,然後也可以管理開啟先後的 stack。

Android 開發網站上的 Best Practice 建議要盡量使用 Fragment,那在 3.0 之前的版本,並沒有 Fragment 類別,這時候可以使用 Android support library。Android support library 要先用 SDK Manager 下載,然後可以在 SDK 路徑下的 extras/android/support 下找到,找到之後,去設定 Project 屬性裡的 Java Build path,在右邊點到 Libraries,按 Add external JAR,選到那個 jar 檔案就可以。程式撰寫部份,不能繼承 Fragment,而要改為繼承 FragmentActivity;而 getFragmentManager()則要改為getSupportFragmentManager()。這部份還沒有測試過。在 Android 開發網站上有更詳細的 Android support library 說明


arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()