这是我在一个活动中将值存储到SharedPreferences中的地方:
sharedPref = context.getSharedPreferences("sharedPref", Context.MODE_PRIVATE);
String firstPlace = new String("1");
String secondPlace = new String("2");
String thirdPlace = new String("3");
editor = sharedPref.edit();
editor.putString("first", firstPlace);
editor.putString("second", secondPlace);
editor.putString("third", thirdPlace);
editor.commit();
尝试在另一个活动中检索它们。但是,检索似乎没有得到我输入的值,只是使用默认值(所以“第一名:”“第二名:”和“第三名:”最后在他们旁边加上'否' )。
SharedPreferences sharedPref = getSharedPreferences("sharedPref", MODE_PRIVATE);
String firstPlace = sharedPref.getString("first", "no");
String secondPlace = sharedPref.getString("second", "no");
String thirdlace = sharedPref.getString("third", "no");
highScore1.setText("1st Place: " + firstPlace);
highScore2.setText("2nd Place: " + secondPlace);
highScore3.setText("3rd Place: " + thirdlace);
答案 0 :(得分:0)
您可以尝试直接放置值
editor = sharedPref.edit();
editor.putString("first", "1");
editor.putString("second", "2");
editor.putString("third", "3");
答案 1 :(得分:0)
您使用了单独的上下文。要使您的共享首选项可以访问整个应用程序,您需要默认的共享首选项。声明如下
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
在此之后,您可以像以前一样编辑和获取数据。
答案 2 :(得分:0)
请试试这个,
this.SharedPrefs = getSharedPreferences("MyPrefs", 0);
SharedPreferences.Editor localEditor = this.SharedPrefs.edit();
localEditor.putString("first", firstPlace);
localEditor.putString("second", secondPlace);
localEditor.putString("third", thirdPlace);
localEditor.commit();
finish();