Wil*_*zel 2 android android-preferences kotlin preferencefragment androidx
我正在使用 AndroidX 的首选项库来管理我的应用程序的设置。我的SettingsFragment派生PreferenceFragmentCompat并加载以下布局:
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.preference.PreferenceScreen
android:key="screen_backup_key"
android:title="@string/local_database">
<androidx.preference.Preference
android:key="button_save_key"
android:title="@string/export" />
<androidx.preference.Preference
android:key="button_load_key"
android:title="@string/_import" />
</androidx.preference.PreferenceScreen>
<androidx.preference.Preference
android:key="screen_about"
android:title="@string/about" />
</androidx.preference.PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
布局显示正确,但是当我单击嵌套PreferenceScreen条目时没有任何反应。它以前可以与支持库PreferenceScreen中的一起使用,但现在已弃用。
我希望看到这个嵌套的内容PreferenceScreen。我究竟做错了什么?
AndroidX 的首选项库不再支持它。
PreferenceScreen不再支持使用嵌套在同一 XML 资源中声明嵌套层次结构。您应该使用嵌套的 Fragment 对象。
每个单独的屏幕都需要一个单独的PreferenceFragmentCompat屏幕。
如果您有大量首选项或不同的类别,您可以将它们显示在单独的屏幕上。每个屏幕都应该有
PreferenceFragmentCompat自己独立的层次结构。然后,初始屏幕上的首选项可以链接到包含相关首选项的子屏幕。
你这样做:
要将屏幕与首选项链接,您可以在 XML 中声明
app:fragment,也可以使用Preference.setFragment().PreferenceFragmentCompat设置点击时要启动的 完整包名Preference,如下所示:
<Preference
app:fragment="com.example.SyncFragment"
.../>
Run Code Online (Sandbox Code Playgroud)
这是进一步阅读的来源。
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |