it-swarm.com.ru

Использование ListView для создания экрана настроек в Android?

Я разрабатываю свое первое Android приложение и хочу создать экран настроек.

Мне бы хотелось, чтобы экран выглядел так же, как родные экраны настроек телефона и собственный экран "создать/изменить будильник". Таким образом, с различными видами (статически определенных) предметов, вертикально сложенных с тонкой линией между ними.

Как мне определить такой экран?

Я понимаю, что могу использовать ListView, но, похоже, это в первую очередь предназначено для обслуживания динамических данных с использованием ListAdapter, где каждый элемент обслуживается в одном и том же формате. Кажется возможным создать разные элементы (то есть, некоторые с флажком, некоторые с двумя текстовыми строками, некоторые со значком), создав мой собственный ListAdapter и переопределив getView, но это кажется излишним. Должен ли я использовать ListView для этой цели?

61
Tomas

Нет необходимости вручную создавать и форматировать ListView - в API есть способы создания экранов настроек.

Наиболее очевидным является PreferenceActivity .

Вы можете определить все свои предпочтения в файле XML, немного похожем на макет, а затем загрузить их с помощью addPreferencesFromResource() или вы можете создать несколько PreferenceScreen объектов в коде и заполнить их с Preference объектами таким образом.

Лучше всего было бы посмотреть на приложение API Demos, предоставляемое с помощью API Android. Это содержит много хороших примеров управления предпочтениями. Вот как он создает настройки из кода , а вот пример XML-файла настроек . Есть и другие примеры, показывающие более сложные вещи, такие как зависимости предпочтений и слушатели предпочтений.

121
Dave Webb

На самом деле во встроенном приложении будильника для редактирования и создания будильника , есть два действия, одно для создания и одно для редактирования .

Создать тревогу - первое действие с цифровыми часами. Операция Редактировать тревогу запускается нажатием на перечисленную тревогу в Создать тревогу деятельность.

Редактировать будильник реализует PreferenceActivity, но Создать будильник более сложно (пользовательский курсор Адаптер для отображения сигналов тревоги).

Посмотрите на источники :

2
tbruyelle