为什么无法将 INT 保存到 SharedPreferences 中?

2024-05-07

我有一个奇怪的问题。我以前从未有过。当我尝试将 int 值保存到我的 SharedPreference 中,然后在其他 Activity 中恢复时。即使我保存其他值(例如:1),值也始终为 0;

private String Number;
private String Profile;

然后将值(在本例中为“1”)保存到第一个 Activity 中的 SharedPreferences 中:

SharedPreferences a = FirstActivity.this.getSharedPreferences("a", MODE_PRIVATE);
SharedPreferences.Editor prefsEditorProfiles = a.edit();
prefsEditorProfiles.putInt(Profile, 1);
prefsEditorProfiles.putInt(Number, 1);
prefsEditorProfiles.commit();

然后在其他 Activity 中恢复 SharedPreferences:

SharedPreferences a = SecondActivity.this.getSharedPreferences("a", MODE_PRIVATE);
int ab = a.getInt(Number, 0);

应用程序向我显示 0 而不是 1。我的其他 SharedPreferences 效果很好。我不知道问题出在哪里。


我会检查您声明的 Number 和 Profile 变量的值是多少...您正在使用它们的值作为键,因此如果它们的名称冲突,您可能会用另一个设置覆盖一个设置,即使代码看起来正确。

我建议更换这个:

私有字符串编号;
私有字符串配置文件;

有了这个:

私有最终字符串NUMBER =“数字”;
private Final String PROFILE = "个人资料";

然后在设置/获取您的偏好值时使用这些常量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法将 INT 保存到 SharedPreferences 中? 的相关文章

随机推荐