我有一个奇怪的问题。我以前从未有过。当我尝试将 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 变量的值...对。
我建议替换为:
私有(private)字符串编号;
私有(private)字符串配置文件;
有了这个:
private final String NUMBER = "Number";
private final String PROFILE = "Profile";
然后在设置/获取您的偏好值时使用这些常量。
关于android - 为什么不能将 INT 保存到 SharedPreferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900226/