Skip to content Skip to sidebar Skip to footer

Save Multiple Edittext Values Using Sharedpreferences

I'm trying to build an app where someone can fill in their personal data like their name, telephone number, Email... For each field mentioned above, I created an EditText. Now my g

Solution 1:

You just have to save each EditText value and retrieve them next time your Activity reloads. The code below is adapted from the link you mentioned in your question:

publicclassPersonalInformationextendsActivity{

private SharedPreferences savedFields;
private Button saveButton;
private EditText editText1;
private EditText editText2;
// Add all your EditTexts...// Upon creating your Activity, reload all the saved values.protectedvoidonCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);

    saveButton = (Button) findViewById(R.id.your_save_button_id);
    editText1 = (EditText) findViewById(R.id.your_edit_text_1_id);
    editText2 = (EditText) findViewById(R.id.your_edit_text_2_id);
    // Keep adding all your EditTexts the same way...// "info" is just a tag name, use anything you like
    savedFields = getSharedPreferences("info", MODE_PRIVATE);

    // In case no value is already saved, use a Default Value
    editText1.setText(savednotes.getString("editText1", "Default Value 1"));
    editText2.setText(savednotes.getString("editText2", "Default Value 2"));

    // Save the changes upon button click
    saveButton.setOnClickListener(saveButtonListener);
}

publicOnClickListenersaveButtonListener=newOnClickListener() {
    @OverridepublicvoidonClick(View v) {
        SharedPreferences.EditorpreferencesEditor= savedFields.edit();
        if(editText1.getText().length() > 0) // Not empty
             preferencesEditor.putString("editText1", editText1.getText());
        if(editText2.getText().length() > 0) // Not empty
             preferencesEditor.putString("editText2", editText2.getText());
        // You can make a function so you woudn't have to repeat the same code for each EditText// At the end, save (commit) all the changes
        preferencesEditor.commit();
        }
    }
};
}

Solution 2:

Try this to store in shared preferences

// MY_CONTAINER - a static String variable like: //public static final String MY_CONTAINER  = "MyPrefsFile";
    SharedPreferences.Editoreditor= getSharedPreferences(MY_CONTAINER , MODE_PRIVATE).edit();
     editor.putString("edittext1", "value1"); // you can also use like this editor.putString("edittext1", ed1.getText().toString())
     editor.putString("edittext2", "value2");
editor.putString("edittext3", "value3");
editor.putString("edittext4", "value4");
editor.putString("edittext5", "value5");
     editor.commit();

To retrieve

SharedPreferencesprefs= getSharedPreferences(MY_CONTAINER, MODE_PRIVATE); 
  Stringedit1= prefs.getString("edittext1");
  Stringedit2= prefs.getString("edittext2");
  Stringedit3= prefs.getString("edittext3");
  Stringedit4= prefs.getString("edittext4");
  Stringedit5= prefs.getString("edittext5");

Post a Comment for "Save Multiple Edittext Values Using Sharedpreferences"