SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
-
tolik777
- Сообщения: 37
- Зарегистрирован: 06 июл 2012, 14:25
Сообщение
tolik777 » 29 окт 2012, 14:34
Добрый день!
Пытаюсь сделать для своего приложения настройки согласно вот этому уроку:
http://android-er.blogspot.ru/2012/07/e ... gment.html
Все сделал, сохраняет и считывает, однако мне нужно вывести настройки не в textEdit, а в переменную. И вот тут проблема. Вот часть кода:
Код: Выделить всё
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prefEditText = (TextView)findViewById(R.id.prefEditText);
loadPref();
....
....
}
private void loadPref(){
SharedPreferences mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String my_edittext_preference = mySharedPreferences.getString("edittext_preference", "");
Log.d(TAG, "Prefs: " + my_edittext_preference);
prefEditText.setText(my_edittext_preference);
//address = my_edittext_preference;
}
И в логе пусто, а в тексте prefEditText все отображается. Не пойму почему! Пробовал .toString добавлять к my_edittext_preference не помогает, хотя она и так String...
-
tolik777
- Сообщения: 37
- Зарегистрирован: 06 июл 2012, 14:25
Сообщение
tolik777 » 30 окт 2012, 10:38
В общем разобрался - сам ступил, не тот ключ брал.
Вопрос теперь в другом. У меня в XML файле для preferences прописано значение по умолчанию:
android:defaultValue="Test"
И при первом вызове программы когда я считываю методом .getString там пусто, необходимо зайти и выйти в окно настроек, тогда значение прописывается. Как сделать так, чтобы если ничего не прописано, то метод .getString возвращал дефолтное значение настройки?
-
AndreyI
- Сообщения: 372
- Зарегистрирован: 14 май 2012, 16:18
Сообщение
AndreyI » 30 окт 2012, 11:01
Во втором параметре getString и прописывается значение, которое вернет этот метод, если ключа не существует.
-
tolik777
- Сообщения: 37
- Зарегистрирован: 06 июл 2012, 14:25
Сообщение
tolik777 » 30 окт 2012, 11:13
Спасибо! Уже нагуглил, пришлось в String XML заводить дефолтное значение для XML с настройками и для кода.