как сохранить данные через SharedPreferences, без нажатия на кнопку

Можно ли сохранять просто в onCreate или нужно обязательно привязывать к чему то? В приложении пользователь будет вводить данные в EditText и они должны там появится и после перезахода. Как правильно сохранять их и где правильно присваивать самому EditText значение

strEditText1 = editText1.getText().toString();
editor.putString("editText1", strEditText1);
editText1.setText(sharedPreferences.getString("editText1", ""));

Вызываю это при onCreate и оно не сохраняет, так же пробовал сохранять при onPause


Ответы (1 шт):

Автор решения: iramm

В onCreate() считываем данные. В onPause() записываем.

public class MainActivity extends AppCompatActivity {

private EditText editText1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText1 = findViewById(R.id.editText1);
    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    editText1.setText(sharedPreferences.getString("editText1", ""));
}

@Override
protected void onPause() {
    super.onPause();
    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    String strEditText1 = editText1.getText().toString();
    editor.putString("editText1", strEditText1);
    editor.commit();
}

}

→ Ссылка