目前我想在我的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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)