SharedPreference и PreferenceFrag. Не могу отобразить данные

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
tolik777
Сообщения: 37
Зарегистрирован: 06 июл 2012, 14:25

SharedPreference и PreferenceFrag. Не могу отобразить данные

Сообщение 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

Re: SharedPreference и PreferenceFrag. Не могу отобразить да

Сообщение tolik777 » 30 окт 2012, 10:38

В общем разобрался - сам ступил, не тот ключ брал.
Вопрос теперь в другом. У меня в XML файле для preferences прописано значение по умолчанию:
android:defaultValue="Test"
И при первом вызове программы когда я считываю методом .getString там пусто, необходимо зайти и выйти в окно настроек, тогда значение прописывается. Как сделать так, чтобы если ничего не прописано, то метод .getString возвращал дефолтное значение настройки?

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: SharedPreference и PreferenceFrag. Не могу отобразить да

Сообщение AndreyI » 30 окт 2012, 11:01

Во втором параметре getString и прописывается значение, которое вернет этот метод, если ключа не существует.

tolik777
Сообщения: 37
Зарегистрирован: 06 июл 2012, 14:25

Re: SharedPreference и PreferenceFrag. Не могу отобразить да

Сообщение tolik777 » 30 окт 2012, 11:13

Спасибо! Уже нагуглил, пришлось в String XML заводить дефолтное значение для XML с настройками и для кода.

Ответить