gpt4 book ai didi

Android 具有相同 ID 的两种不同的 SharedPreference 类型

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:18 27 4
gpt4 key购买 nike

目前我想在我的 Android 应用程序中将两种不同的数据类型存储为 SharedPreference。是否可以将它们存储为相同的键值?

例如:

int id = 123;
myBoolean = false;
myString = "hello";

SharedPreferences.Editor edit = this.getSharedPreferences("MyPrefs", MODE_PRIVATE).edit();
edit.putString(String.valueOf(id), myString);
edit.putBoolean(String.valueOf(id), myBoolean);

因为目前,当我尝试获取字符串值时,我在此处遇到了 ClassCast 异常:

SharedPreferences settings = getSharedPreferences("MyPrefs", MODE_PRIVATE);
String myString = settings.getString(String.valueOf(123), "def");

我得到这个异常:

java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String

最佳答案

不可能,Shared Preferences是一个键值对(键是唯一的)。您的代码所做的是替换以前保存的值。因此,当您尝试获取值时,您会收到一个 bool 值。

关于Android 具有相同 ID 的两种不同的 SharedPreference 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125874/

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