Я использую «SharedPreferences» в своем приложении, чтобы сохранить возможность сохранять/извлекать строковые значения из нескольких полей редактирования, и это работает нормально. У меня также есть Spinner в моей деятельности с массивом строк для его полезных значений. Но я не понимаю, как записать выбор счетчиков в SharedPreferences, а затем прочитать SharedPreferences позже, чтобы отменить и установить его значение.
Вот конфигурация, которая у меня есть для edittext:
-Кнопка для активации сохранения значений в SharedPreferences-
public void buttonSaveSendClick(View view) {
SharedPreferences.Editor editor = getPreferences(0).edit();
EditText editTextCallId = (EditText) findViewById(R.id.editTextCallId);
editor.putString("editTextCallIdtext", editTextCallId.getText().toString());
editor.putInt("selection-startCallId", editTextCallId.getSelectionStart());
editor.putInt("selection-endCallId", editTextCallId.getSelectionEnd());
editor.commit();
}
-Кнопка для активации восстановления последних сохраненных значений из SharedPreferences-
public void buttonRestoreLastClick(View view) {
SharedPreferences prefs = getPreferences(0);
EditText editTextCallId = (EditText) findViewById(R.id.editTextCallId);
String editTextCallIdtextrestored = prefs.getString("editTextCallIdtext", null);
editTextCallId.setText(editTextCallIdtextrestored, EditText.BufferType.EDITABLE);
int selectionStartCallId = prefs.getInt("selection-startCallId", -1);
int selectionEndCallId = prefs.getInt("selection-endCallId", -1);
editTextCallId.setSelection(selectionStartCallId, selectionEndCallId);
}
Любые предложения о том, как создать коллекцию выбранного значения счетчика в первой кнопке (сохранить)? Тогда как вернуть это сохраненное значение в вид счетчиков при нажатии кнопки «восстановить»?