Когда я создаю предпочтительное действие, я определяю все предпочтения в XML-файле. Каждому предпочтению определили ключ в этом xml. Но когда я получаю доступ к предпочтению, я пишу:
SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean foo_value = appPreferences.getBoolean("foo_key_defined_in_xml", false);
Там какой-либо путь состоит в том, чтобы не ссылаться на "foo_key_defined_in_xml" трудно кодированным способом? Возможно, существует возможность сослаться на него в стиле R путь (для не обращения для строкового представления)?
Я обнаружил, что можно хранить ключи в strings.xml и ссылаться на них из preferences.xml , как и все другие значения android: key = "@ string / preference_enable"
.
В коде вы можете обратиться к ключу, набрав getString (R.string.preference_enable)
Вы можете пометить строку, которая не будет переводиться, с помощью тега
. См. Контрольный список локализации
<string name="preference_enable"><xliff:g id="preference_key">enable</xliff:g></string>
Насколько я знаю, лучшего способа ссылки на ключи предпочтений нет (кроме, возможно, использования статическая конечная строка для хранения строки в классе).
Пример , приведенный в документации SDK, делает то же самое, что и то, что вы указали в своем примере,
Попробуйте getString (R.string.key_defined_in_xml)
.