java SharedReferences中的多个值
我试图在一个键下保存两个值,以便在Android中共享首选项。我想这样做的原因是,我可以检查字符串的值,然后替换它。 例如,我希望共享首选项具有(key1、StringA、StringB)。在我的程序中,我想检查textView是否与StringA匹配,如果匹配,则将其替换为StringB。有没有办法通过共享首选项来实现这一点?如果是这样,我将如何实现在一个键下存储两个Sting?如果没有,我有什么更好的方法可以做到这一点?谢谢你的帮助
到目前为止,我检查了textView值,并将其替换为如下共享首选项
if (sharedpreferences.contains(Name)) {
if (sharedpreferences.getString(Name, "").equals(stringname.getText())) {
name.setText(sharedpreferences.getString(Name, ""));
//I want to replace name(which is the textView) with StringB instead.
}
else {
name.setText("Didn't Match");
}
}
这就是为什么我想使用两个值,这样用户可以将他们想要的特定文本视图替换为另一个字符串
# 1 楼答案
您不能这样做,因为如果在任何地方使用相同的键,它将覆盖值
但是有一种选择,您可以使用它在一个首选项键中存储多个字符串值,每个值用逗号分隔。然后可以使用
convertStringToArray
将其转换为字符串数组我不建议您这样做,因为您为什么要编写更多代码来存储和操作单个键的值,而不是直接存储不同键的值,并直接与单独的值进行比较
# 2 楼答案
我不明白为什么,因为你提到你这样做只是因为
你给自己施加了不必要的约束。为什么不将字符串存储在不同的键下