0

我需要創建一個settings screen,其中只有前半部分包含首選項。舊設備中的PreferenceFragment?

我想就包括PreferenceFragment,但我需要支持舊設備(最小支持的API等級9),我也需要顯示操作欄(目前使用程序兼容性庫)。根據this question我擰了。

所以現在我需要複製偏好列表的外觀和感覺。

我想過包括一個ListView,並編寫一個自定義適配器,爲我的每個「首選項」類型提供不同的項目佈局。我需要效仿CheckBoxPreferenceListPreference。列表首選項很簡單,因爲我只需要使用2個文本行項目(android.R.layout.simple_list_item_2)的默認佈局,然後顯示帶有選項的自定義對話框。但是我無法在內置資源中找到複選框首選項的佈局。

我將自己管理SharedPrefs。

問題:

  • 有模擬偏好的更好的辦法?
  • 如果不是,我怎麼能複製或甚至重新使用內置佈局檢查列表項目?它在android.R.layout中可用嗎?我需要我的自定義適配器來返回佈局,該佈局幾乎與布爾型設置的CheckBoxPreference完全一樣。
+0

你可以試試這個。 https://github.com/kolavar/android-support-v4-preferencefragment/blob/master/src/android/support/v4/preference/PreferenceFragment.java –

回答

2

我遇到了這個確切的問題,在開始實現支持庫之前我沒有意識到這一點。一堆工作沒有。

另一方面,我需要支持的所有舊設備,除了手機而不是平板電腦之外,很少有例外。所以我只在這些設備上使用PreferenceActivity(檢查Build.VERSION.SDK_INT),並且只在具有平板大小屏幕的SDK 11+設備上使用PreferenceFragment。您甚至可以使用版本號和屏幕大小限定佈局資源文件夾,以便不寫任何代碼。

+0

雖然'PreferenceActivity'確實是在API 1中添加的,我不能使用它,因爲1)我需要操作欄;和2)我需要在我的屏幕中包含與非偏好相關的視圖。 –