Делаю две кнопки, для загрузки сохраненного текста и его сохранения. в OnCreate:
etText = (EditText)findViewById(R.id.etText); //поле для ввода
btnSave = (Button)findViewById(R.id.btnSave); //кнопка сохраненияя
btnSave.setOnClickListener(this);
btnLoad = (Button)findViewById(R.id.btnLoad); //кнопка загрузки
btnLoad.setOnClickListener(this);
Дальше
public void onClick(View v){
switch (v.getId()){
case R.id.btnSave:
saveText();
break;
case R.id.btnLoad:
loadText();
break;
default:
break;
}
}
private void saveText() {
sPref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor ed = sPref.edit();
ed.putString(SAVED_TEXT, etText.getText().toString());
ed.commit();
Toast.makeText(MainActivity.this, "Text saved", Toast.LENGTH_SHORT).show();
}
private void loadText() {
sPref = getPreferences(MODE_PRIVATE);
String savedText = sPref.getString(SAVED_TEXT,"");
etText.setText(savedText);
Toast.makeText(MainActivity.this, "Text loaded", Toast.LENGTH_SHORT).show();
}
В итоге приложение крашится с ошибкой Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at <имя пакета>.MainActivity.onCreate(MainActivity.java:104)
104 строка: btnSave.setOnClickListener(this);