我有一个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();

09-05 05:53