在我的SettingsActivity上,我使用以下代码保存值:
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("ClassName", strArrClasses.get(i));' // i is a variable inside a loop
int intClassID = i+1;
editor.putInt("ClassID", intClassID);
editor.commit();
我现在正尝试使用以下代码在MainActivity上使用键“ ClassID”获取SharedPreference的值:
SharedPreferences sharedPrefs = getPreferences(MODE_PRIVATE);
int intClassID = sharedPrefs.getInt("ClassID", 543548564);
我现在的问题是我无法访问类ID,并且始终获得默认值。
编辑:
我已经检查了是否可以在我的SettingsActivity上获得ClassID,并且效果很好
最佳答案
使用getSharedPreferences代替。喜欢
SharedPreferences sharedPrefs = getSharedPreferences(name, MODE_PRIVATE);
自文件here
getPreferences释放一个SharedPreferences对象以供访问
此活动专用的首选项。这简单地称为
通过传入此基础getSharedPreferences(String,int)方法
活动的类别名称作为首选项名称。
和
getSharedPreferences
通过名称检索SharedPreference
。在您的情况下,您使用了
getPreferences
,它仅返回了这些活动的SharedPreferences
。关于java - 为什么我找回默认值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16761972/