在Android P上创建设置活动

时间:2018-09-12 19:31:29

标签: android android-support-library android-preferences androidx

我的SettingsActivity当前扩展了Android Studio生成的类AppCompatPreferenceActivity,该类扩展了PreferenceActivity。使用PreferenceFragment显示活动中的每个首选项屏幕;从API级别28开始不推荐使用。文档指出您应该使用支持库中的PreferenceFragmentCompat类作为替代。

问题是PreferenceFragmentCompat扩展了android.support.v4.app.Fragment不支持的android.app.Fragment(而不是PreferenceActivity)。并且没有PreferenceActivityCompat来填补现在无关紧要的PreferenceActivity的作用。

进一步混淆了问题;新的androidx.preference支持库包括自己的PreferenceFragment(扩展了android.app.Fragment PreferenceFragmentCompat(扩展了新的androidx.fragment.app.Fragment

我总是可以使用自己的类来重新创建PreferenceActivity的功能,但是为什么文档推荐使用PreferenceFragmentCompat而又没有PreferenceActivity的可行选择?我是否缺少某些东西,或者首选项库的当前状态不起作用?


SettingsActivity现在可以按原样工作,但是我通常喜欢尝试领先一步,尤其是当某些东西被弃用时。

1 个答案:

答案 0 :(得分:0)

不要使用 PreferenceActivity;常规的 AppCompatActivity 将很好地达到目的。如果您愿意,Android Studio 提供了一种在您的应用程序中制作设置活动的直接方法: How to create a new Settings Activity in Android Studio