我的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
现在可以按原样工作,但是我通常喜欢尝试领先一步,尤其是当某些东西被弃用时。