gpt4 book ai didi

java - 在 .xml 中定义时,SharedPreferences 的 defaultValue 是否始终读取为字符串?

转载 作者:行者123 更新时间:2023-12-01 13:08:09 27 4
gpt4 key购买 nike

我正在尝试检索默认值:

定义:

<integer name="keyOfDefaultValue">2</integer>

引用为:

android:defaultValue="@integer/keyOfDefaultValue"

实际代码:

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
int intVar = sharedPrefs.getInt(keyOfDefaultValue, fallbackIntValue);

我收到 ClassCastException ,表明我正在尝试将字符串转换为整数。我已阅读有关默认值的 Android 文档:

http://developer.android.com/reference/android/preference/Preference.html#attr_android:defaultValue

所以我希望使用正确的类型,但显然我得到了一个字符串。

有人可以确认 .xml 中定义的默认值始终以字符串形式检索吗?或者您可以将我指向文档中对此进行解释的页面...

谢谢

最佳答案

如果您检查 AOSP 代码上不同类型首选项的返回值

EditTextPreferenceListPreference 返回字符串值

SwitchPreferenceCheckBoxPreference 返回 boolean 值

MultiSelectListPreference 返回一组字符串

如果你想改变它,我想你可以随时覆盖onGetDefaultValue 在您的 customPreference 中,如果您有的话

关于java - 在 .xml 中定义时,SharedPreferences 的 defaultValue 是否始终读取为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113547/

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