Java 无法取回保存在SharedReference中的数据
这是我的活动2,我应该在这里创建SharedReference并保存用户的选择。(我想将用户的选择保存在一个组中) 请参阅我的活动3,在那里我应该返回选项:Java 无法取回保存在SharedReference中的数据,java,android,sharedpreferences,Java,Android,Sharedpreferences,这是我的活动2,我应该在这里创建SharedReference并保存用户的选择。(我想将用户的选择保存在一个组中) 请参阅我的活动3,在那里我应该返回选项: private RadioGroup rgTravel; SharedPreferences sharedPreferences; private static final String PREFS = "PREFS"; private static final String Travel = "travel"; private Radio
private RadioGroup rgTravel;
SharedPreferences sharedPreferences;
private static final String PREFS = "PREFS";
private static final String Travel = "travel";
private RadioButton radioButton;
String travel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
final Button btnOk = (Button)findViewById(R.id.btnOk);
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent activity3 = new Intent(MainActivity2Activity.this, MainActivity3Activity.class);
rgTravel = (RadioGroup) findViewById(R.id.rgTravel);
int selectedId = rgTravel.getCheckedRadioButtonId();
radioButton = (RadioButton) findViewById(selectedId);
travel = radioButton.getText().toString();
SharedPreferences preferences-= PreferenceManager.getDefaultSharedPreferences(MainActivity2Activity.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(Travel, travel);
editor.commit();
Toast.makeText(getApplicationContext(), travel, Toast.LENGTH_LONG).show();
startActivity(activity3);
}
});
}
我在每个活动中都创建了一个祝酒词,以确保问题确实与偏好有关,而不是与另一个步骤有关。应该是
travel
而不是travel
,因为它区分大小写
在下一个活动中使用
public void onCreate(Bundle savedInstanceState) {
String choice;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity3);
SharedPreferences PREFS = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
choice = PREFS.getString("Travel", "Beach");
Toast.makeText(getApplicationContext(), choice, Toast.LENGTH_LONG).show();
displayPicture(choice);
Button next = (Button) findViewById(R.id.button3);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent activity4 = new Intent(MainActivity3Activity.this, MainActivity4Activity.class);
startActivity(activity4);
}
});
}
而不是
choice = PREFS.getString("travel", "Beach");
它应该是
travel
而不是travel
,因为它区分大小写
在下一个活动中使用
public void onCreate(Bundle savedInstanceState) {
String choice;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity3);
SharedPreferences PREFS = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
choice = PREFS.getString("Travel", "Beach");
Toast.makeText(getApplicationContext(), choice, Toast.LENGTH_LONG).show();
displayPicture(choice);
Button next = (Button) findViewById(R.id.button3);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent activity4 = new Intent(MainActivity3Activity.this, MainActivity4Activity.class);
startActivity(activity4);
}
});
}
而不是
choice = PREFS.getString("travel", "Beach");
我很高兴我能帮上忙,我很高兴我能帮上忙,我很高兴你应该把帕夫尼特·辛格的答案标记为正确。这是他答案旁边的复选标记。你应该把帕夫尼特·辛格的答案标记为正确。这是他答案旁边的复选标记。