我有一个sharedPreferences对象和SharedPreferencesEdit对象,但没有保存任何内容
public void getPreferences(){
SharedPreferences sp = getSharedPreferences("MyData", Context.MODE_PRIVATE);
SharedPreferences.Editor spEditor = sp.edit();
spEditor.putString("us1_Name", us1_Name.getText().toString());
spEditor.commit();
}
public void setPreferences(){
SharedPreferences sp = getSharedPreferences("MyData", Context.MODE_PRIVATE);
us1_Name.setText(sp.getString("us1_Name", "DEFAULT"));
}
我在onStop和onResume调用时调用此方法,但对我不起作用。
最佳答案
您只需要将preference
方法从getPreferences()
交换为setPreferences()
,就像
public void getPreferences(){
SharedPreferences sp = getSharedPreferences("MyData", Context.MODE_PRIVATE);
us1_Name.setText(sp.getString("us1_Name", "DEFAULT"));
}
public void setPreferences(){
SharedPreferences sp = getSharedPreferences("MyData", Context.MODE_PRIVATE);
SharedPreferences.Editor spEditor = sp.edit();
spEditor.putString("us1_Name", us1_Name.getText().toString());
spEditor.commit();
}
在您的
getPreferences()
中,您需要通过使用获取保存的preferences
值sp.getString("us1_Name", "DEFAULT")
在您的
setPreferences()
中,您需要使用 SharedPreferences.Editor spEditor = sp.edit();
spEditor.putString("us1_Name", us1_Name.getText().toString());
spEditor.commit();