做出設定的畫面
( ↑ 使用 PreferenceFragment 撰寫的畫面,如上圖)
Step1. 建立一個Android專案與Activity (細部省略)
Step2. 建立一個 PreferenceFragment 的 XML 設置檔
- 在專案下新增一個 Android XML File
- Resource Type 選擇 Preference
- Root Element 選擇 PreferenceScreen
- 輸入 File名稱
- 完成 (注意該XML檔案是在目錄 res > xml 底下)
Step3. 開始新增元素
Step4. 在主Activity中呼叫 PreferenceFragment
- 首先必須知道 PreferenceFragment 屬於一個 Fragment 的其中一個子類別,如不知Fragment為何,請先閱讀介紹文章
- 接下來請為 PreferenceFragment 新增一個 class,目的是為了將 PreferenceFragment的XML檔與 PreferenceFragment 程式連接起來,並呼叫它啟動
(1) 新增一個class,在superclass 填入 PreferenceFragment,目的是繼承PreferenceFragment類別
(2) 因為每個 Fragment 都有自己的生命周期,在PreferenceFragment啟動(onCreate)時,應設定PreferenceFragment 的 XML配置檔
(3) 點選 Source → Override/Implement Methods... → 選擇 PreferenceFragment下onCreate(Bundle),快速建立 onCreate 函式
(4) 最後在 onCreate 內指定 PreferenceFragment 配置的XML檔案
addPreferencesFromResource(R.xml.你的XML檔名);
上述步驟完整Code:
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.eee);
} - 接下來要讓主 Activity 喚醒上一步寫好的 FragmentManager ,在主Activity中寫入以下 :
(1) 首先為了控制 Fragment,首先要先取得 Fragment 管理器
FragmentManager fm = this.getFragmentManager();
(2)接下來取得管理器編輯與操作的物件,才能開始操作
FragmentTransaction ft = fm.beginTransaction();
(3) 接下來要將主View 切換到 PreferenceFragment
FragmentTransaction ft2 = ft.replace(android.R.id.content, new PrefsFragement());
(4) 最後呼叫 commit 方法執行
ft2.commit();
上述步驟完整Code:
FragmentManager fm = this.getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
FragmentTransaction ft2 = ft.replace(android.R.id.content, new PrefsFragement());
ft2.commit(); - 完成上述步驟後,一個 PreferenceFragment 就完成囉 ~,趕快執行看看吧~