我有一个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调用时调用此方法,但对我来说不起作用。
答案 0 :(得分:4)
您只需要将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()
中,您需要使用
preferences
值
SharedPreferences.Editor spEditor = sp.edit();
spEditor.putString("us1_Name", us1_Name.getText().toString());
spEditor.commit();
答案 1 :(得分:0)
首先是那个
1。)不要在onStop()中执行任何操作,如sharedPreferance编辑/数据库编辑;方法
因为它只是暂时调用,而且只是针对活动做了一些小操作
所以请更改它并在onPause();
中执行