2012-04-13 34 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?

相关问题