5

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

4

1 回答 1

0

不要使用 PreferenceActivity;一个常规的 AppCompatActivity 就可以达到目的。如果您愿意,Android Studio 提供了一种在您的应用中创建设置活动的直接方法: 如何在 Android Studio 中创建新的设置活动

于 2021-05-01T04:56:38.683 回答