【问题标题】:AndroidX multiple instances of PreferencesAndroidX 多个 Preferences 实例
【发布时间】:2020-10-11 19:45:16
【问题描述】:

如何使用 AndroidX Perference 库保留多组首选项? 例如,用户可以在同一组设置中选择具有不同值的不同配置文件:

全局偏好:

  • 选择的个人资料:foo
  • 其他设置:等

配置文件 1:

  • 姓名:foo
  • 设置:酒吧

配置文件 2:

  • 名称:酒吧
  • 设置:你好

【问题讨论】:

    标签: android settings androidx


    【解决方案1】:

    我在这里看到两个选项:

    • 对不同的配置文件使用具有不同名称的 Context.getSharedPreferences(String name, int mode)PreferenceManager 有一个 setDefaultValues 方法,在这种情况下也有一个名称。这种方法的缺点是设置屏幕仍将使用默认的共享首选项,而不是选择任何配置文件的首选项。

    • 制作您自己的共享首选项包装器,扩展PreferenceDataStore 并实现所有方法。然后在配置文件更改时致电PreferenceManager.setPreferenceDataStore。设置屏幕将使用这种方法显示正确的值。在内部,您的包装器可以使用数据库来存储值,或者使用默认的共享首选项,为不同的配置文件附加不同的前缀。

    我也没有尝试过,但我相信它可以工作。

    【讨论】:

      猜你喜欢
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 2010-09-24
      • 2017-01-29
      相关资源
      最近更新 更多