如何在SharedPreferences中获取值存储

时间:2014-01-03 08:02:44

标签: android listview android-intent

我在SharedPreferencesand中注册时存储userId。现在我想访问SharedPreferences存储的UserId值。直到现在我尝试了这段代码:

prefrence = PreferenceManager.getDefaultSharedPreferences(this);
edit3 = prefrence.edit();
edit3.putInt("user_id", userid);
Log.e("Commit", "SharedPreferences");
edit3.commit();

在接下来的活动中,我使用它进行访问:

prefr = PreferenceManager.getDefaultSharedPreferences(this);

value = prefr.getInt("user_id", "");

我该怎么做?

2 个答案:

答案 0 :(得分:4)

你在INT中输入并获得一个STRING ......也许这会导致类型转换错误。

我看到你改变了你的代码,得到一个int ......错误的方式!

您这样做:

value = prefr.getInt("user_id", "");

相反,你应该这样做:

value = prefr.getInt("user_id", 0);

(你不能将“”分配给一个int。)

如果user_id是int ,则上述有效如果user_id是一个字符串,那么你应该做一个putString和一个getString。像:

edit3.putString("user_id", userid);

然后

value = prefr.getString("user_id", "");

因此,您授予必要的类型一致性。

答案 1 :(得分:2)

尝试更改

prefr.getString("user_id", "");

prefr.getInt("user_id", 0);