gpt4 book ai didi

android - PreferenceManager.setDefaultValues 不适用于自定义首选项

转载 作者:行者123 更新时间:2023-12-05 00:06:14 27 4
gpt4 key购买 nike

我正在开发一个带有大量可修改首选项的小应用程序,其中大部分是 SeekBarPreferences

碰巧,因为我对 Android 默认的 SeekBarPreferences 很不满意,所以我使用了非常好的 MaterialSeekBarPreference不幸的是,图书馆已经 2 年没有更新了。

这是这个库使用的代码示例:

<com.pavelsikun.seekbarpreference.SeekBarPreference
android:key="@string/param_maxEvent"
android:title="Blahlblahblahblahblah"
android:summary="Blahlblahblahblahblah too"
android:defaultValue="2"
custom:msbp_minValue="0"
custom:msbp_maxValue="5"
custom:msbp_measurementUnit="events"
custom:msbp_interval="1"
custom:msbp_dialogEnabled="false"/>

如您所见,您可以使用 android:defaultValue xml 属性,它与 UI 完美配合。

因为我需要在应用程序初始化时加载所有这些默认值,所以我使用了 PreferenceManager.setDefaultValues 方法:

public class App extends Application {
@Override public void onCreate() {
super.onCreate();
PreferenceManager.setDefaultValues(this, R.xml.preferences, true);
}
}

这适用于所有默认首选项(SwitchPreferenceListPreferencePreference),但不幸的是不适用于这些自定义 SeekBarPreference.

加载首选项 Activity 也不会设置这些默认值。

这个问题有解决办法吗?否则,如果我要编辑库,我应该更改什么?

最佳答案

我不使用方法 PreferenceManager.getDefaultSharedPreferences(this, R.xml.preferences, true);。相反,我在 fragment 中使用 preference.setDefaultValue(object);

关于android - PreferenceManager.setDefaultValues 不适用于自定义首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com