2012-04-13 127 views
16

我已經定義了dialogfragments(因爲Android文檔說它更好,實際上是這樣),但現在我想在PreferenceActivity中使用它。PreferenceActivity中的DialogFragment

問題是我不能使用getSupportFragmentManager()那裏,我不能使用PreferenceFragment,因爲它不適用於兼容性庫。看起來像一個路障的情況。

任何人都可以提供這方面的建議嗎?

+0

我從來沒有這樣做,但也許你可以使用PreferenceFragment而不是FragmentActivity? http://developer.android.com/reference/android/preference/PreferenceFragment.html – dmon 2012-04-14 03:39:39

+1

我不能使用PreferenceFragment,因爲它在兼容庫中不可用 – Matroska 2012-04-14 06:44:27

+0

我也花了一些時間在這個上。 PreferenceActivity.onPrepareDialog()指出DialogFragment應與兼容性包一起提供。但我認爲這是一個錯誤。 PreferenceActivity簡直沒有FragmentManager可用。 – jsmith 2012-04-23 13:22:09

回答

1

正如您所指出的,PreferenceFragment不在android兼容包中,不幸的是沒有乾淨的解決方法。對於我自己的個人項目,我不得不適應掉Android的源代碼的實現: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r1.2/android/preference/PreferenceFragment.java

對這個問題的答案有一些很好的建議: Was PreferenceFragment intentionally excluded from the compatibility package?