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

Android两种不同的SharedPreference类型具有相同的ID,第1张

概述目前我想在我的Android应用程序中存储两种不同的数据类型作为SharedPreference.是否可以使用相同的键值存储它们?例如:intid=123;myBoolean=false;myString="hello";SharedPreferences.Editoredit=this.getSharedPreferences("MyPrefs",MODE_PRIVATE).edit();edit

目前我想在我的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

解决方法:

共享首选项是一个键值对(键是唯一的)是不可能的.您的代码所做的是替换以前保存的值.因此,当您尝试获取值时,您会收到一个布尔值.

总结

以上是内存溢出为你收集整理的Android两种不同的SharedPreference类型具有相同的ID全部内容,希望文章能够帮你解决Android两种不同的SharedPreference类型具有相同的ID所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1107544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存