android - 为什么不能将 INT 保存到 SharedPreferences?

标签 android android-activity save int sharedpreferences

我有一个奇怪的问题。我以前从未有过。当我尝试将 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/

相关文章:

android - FirebaseAuth.AuthStateListener.onAuthStateChanged(mAuth) 未按预期工作

android - 在 Android 中使用 Bundle 而不是直接 Intent putExtra() 的优点

r - 将 sjPlot::tab_model 表 ta 的列表保存到 Word 文件或 RMarkdown 文件中

android - AOSP/Android 源码索引工具

android - 导致 App 崩溃的布局

android - 将 Gracenote Mobile API 从 Eclipse 迁移到 Android Studio

跨 Activity 的Android float View

按下后退按钮后,Android App 在 "launched"时打开第二个实例

grails - Cereal 可以解决问题

android - 如何手动创建 Android savegame(快照)冲突?