Предпочтения без устаревших методов - PullRequest
7 голосов
/ 28 июня 2011

Я пытаюсь (правильно) реализовать экран настроек, но проблема в том, что все методы, используемые для чтения настроек из XML-файлов, устарели (или я просто не распознаю их). Официальный пример кода на сайте разработчика ( PreferenceActivity ) использует устаревшие методы. Кто-нибудь нашел способ реализовать экран настроек с помощью XML-файла, но без использования: addPreferencesFromResource (int) или findPreference (CharSequence)? Или методы, которые только что были помечены как устаревшие, еще не внедрили альтернативу?

РЕДАКТИРОВАТЬ: Разработка для Android версии 2.1

Ответы [ 2 ]

6 голосов
/ 28 июня 2011

В Android 3, API Level 11, была введена модель предпочтений на основе фрагментов, что исключает методы, которые «не имеют отношения к современной PreferenceActivity на основе фрагментов».

Поскольку онлайн-ссылка является самой последнейверсия, она показывает методы как устаревшие.Управляя раскрывающимся списком API Level, вы можете пометить методы, которых нет в данной версии Android, но они не обновляют описания для соответствия, поэтому они все еще отображаются как устаревшие.

Если выне планируйте поддерживать Android 3+, вы должны просто использовать старые методы, так как решения на основе фрагментов не будут работать с версиями, предшествующими этому.

6 голосов
/ 28 июня 2011

Почему это устарело и какова альтернатива, довольно хорошо объяснено в документации:

Это базовый класс для действия, чтобы показать иерархию предпочтений для пользователя. До HONEYCOMB этот класс допускал отображение только одного набора предпочтений; эта функциональность теперь должна быть найдена в новом классе PreferenceFragment. Если вы используете PreferenceActivity в его старом режиме, документация там относится к устаревшим API здесь.

Другими словами, если вы хотите быть совместимым с HONEYCOMB, вам следует использовать PreferenceFragment для вашего PreferenceActivity. Подробное объяснение того, как использовать фрагменты, можно найти в dev guide .

...