我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
工作方式是这样,但我通常喜欢尝试走在曲线的前面,尤其是当某些东西被弃用时。