Настройки Android - изменение порядка их появления - PullRequest
2 голосов
/ 06 октября 2011

Я пытаюсь создать иерархию классов, которые начинаются с PreferenceActivity.

Идея состоит в том, что базовый класс содержит кнопку «Обо мне», затем следующий класс реализует общие настройки для игр / приложений / обоев, а затем следующий класс добавляет специфические особенности для каждой фактической игры / приложения.

Идея хорошо работает, НО, потому что я «добавляю» предпочтения из XML на каждом уровне, они появляются сначала с самыми общими (самый низкий уровень) (например, моя кнопка «О программе»).

В идеале, я бы хотел, чтобы они пошли другим путем - чтобы определенные предпочтения отображались вверху списка, а общие - внизу - есть ли способ достичь этого (я прочитал документы на PreferenceFragments и новые PreferenceHeaders и даже что, кажется, ничего не предлагают?)

Есть ли какой-либо программный способ перемещения PreferenceCategorys или PreferenceScreens в пределах общего порядка ??

По сути, когда я использую

addPreferencesFromResource(R.xml.clock_settings);

Я бы хотел иметь

addPreferencesFromResourceAtBottom(R.xml.clock_settings);

1 Ответ

6 голосов
/ 09 октября 2011

Я хорошо отвечаю на свои вопросы здесь:)

Решение заключается в XML-параметре android:order - использование его с Preference (или PreferenceGroup или его подклассом) позволит отсортировать данные в правильной последовательности на экране!

Вы также можете изменить это динамически с помощью setOrder(), но он не будет переупорядочивать Preference s, если они уже добавлены в PreferenceGroup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...