2012-01-31 2 views
2

У меня есть поле EditText и флажок внутри действия. Я хочу, чтобы всякий раз, когда флажок установлен, введенный текст внутри поля EditText будет сохранен, и каждый раз, когда пользователь открывает приложение, текст, который он вводит в последний раз, все еще там.Android: EditText всегда запоминает введенный текст

Как я могу это выполнить?

ответ

1

Вы хотите использовать SharedPreferences

Грубо говоря, это не-дб хранения простых примитивных объектов, которые вы хотите, запоминаются вашим приложением.

1

можно либо использовать общие предпочтения, если некоторая информация, связанных с пользователем или, возможно, использовать SQLite базы данных для хранения значений и их извлечь на нагрузке активность.

Приветствия, Richie

1

Использование общих предпочтений сохраняет текст. И при запуске приложения или Activity получите данные и сохраните их в текстовом поле редактирования.

1

Позвоните и передайте SharedPreferences в OnStop() и снова вызовите его в onCreate. Что-то вроде этого:

private void SavePreferences(String key, String value){ 
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString(key, value); 
editor.commit(); 
    } 

    private void LoadPreferences(){ 
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
String strSavedMem1 = sharedPreferences.getString("MEM1", ""); 
String strSavedMem2 = sharedPreferences.getString("MEM2", ""); 
textSavedMem1.setText(strSavedMem1); 
textSavedMem2.setText(strSavedMem2); 
    } 
1

Вы могли бы рассмотреть возможность использования TextWatcher, чтобы сохранить текст в EditText всякий раз, когда он изменяется в SharedPreferences. Затем вы можете вытащить сохраненный текст из SharedPreferences в свой метод onCreate или onResume в своей деятельности.

Смежные вопросы