【问题标题】:Android - Should I keep using PreferenceActivity? [duplicate]Android - 我应该继续使用 PreferenceActivity 吗? [复制]
【发布时间】:2013-07-16 21:18:34
【问题描述】:

我的应用支持从 2.2 到最新的 Android 版本。 问题是对于设置页面,我现在正在使用 PreferenceActivity。 但是,如您所知,它的许多方法已被弃用,它们告诉我使用基于 Fragment 的设置。 但是,我发现如果我切换到使用 PreferenceFragment 和 Fragment Activity,我将不再支持 2.2 和 2.3,因为 API 级别 11 以上支持 PreferenceFragment。 即使我使用支持库,它也不包含 PreferenceFragment! 不知道为什么 Google 没有在支持库中添加 PreferenceFragment。

无论如何,我认为我仍然可以使用旧的 PreferenceActivity,但如果它说它已被弃用,为什么它不支持其支持库中的替代方案?

感谢任何建议!

【问题讨论】:

    标签: android fragment preference


    【解决方案1】:

    仅仅因为它已被弃用并不意味着它停止工作 - 较新的设备仍然支持 PreferenceActivity 而不会出现问题。但是,在较大的设备(例如 10 英寸平板电脑)上,PreferenceFragment/PreferenceHeaders 的双窗格支持看起来要好得多。在 Google 将它们添加到支持库之前,您可以使用第三方库(例如 UnifiedPreferences)来为所有版本的 Android 使用一个 API。

    【讨论】:

    • 谢谢。也许我只需要等待......我仍然不明白为什么谷歌直到修订版 13 才添加它。我怀疑他们根本不会添加它,或者还有其他原因吗?嗯
    • 我认为 actionBarSherlock 也有自己的偏好活动,不是吗?
    • @androiddeveloper - 它有一个SherlockPreferenceActivity 可以将操作栏添加到PreferenceActivity,但它不添加对PreferenceFragment/PreferenceHeaders 的支持。请注意,UnifiedPreferences 也适用于 ABS。
    • @androiddeveloper - 根据thisthis 票证,PreferenceFragment 依赖于PreferenceScreenPreferenceManager 中的包可见方法,因此超出了ABS 的范围,因此更多适用于另一个专门处理 Preferences 的库,例如 UnifiedPreferences。
    • @ianhanniballake 我明白了。谢谢。希望我们有一个库,它是 android 4 的总端口。今天我们有 actionBarSherlock、nineOldAndroids、holoEverywhere,现在这个......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多