использование listview для создания экрана настроек в android?

<p>я разрабатываю свое первое android приложение и хочу создать экран настроек.</p><p>мне бы хотелось, чтобы экран выглядел так же, как родные экраны настроек телефона и собственный экран "создать/изменить будильник". таким образом, с различными видами (статически определенных) предметов, вертикально сложенных с тонкой линией между ними.</p><p>как мне определить такой экран?</p><p>я понимаю, что могу использовать listview, но, похоже, это в первую очередь предназначено для обслуживания динамических данных с использованием listadapter, где каждый элемент обслуживается в одном и том же формате. кажется возможным создать разные элементы (то есть, некоторые с флажком, некоторые с двумя текстовыми строками, некоторые со значком), создав мой собственный listadapter и переопределив getview, но это кажется излишним. должен ли я использовать listview для этой цели?</p>

<p>нет необходимости вручную создавать и форматировать <code>listview</code> - в api есть способы создания экранов настроек.</p><p>наиболее очевидным является <a href="http://developer.android.com/reference/android/preference/preferenceactivity.html"><code>preferenceactivity</code></a> .</p><p>вы можете определить все свои предпочтения в файле xml, немного похожем на макет, а затем загрузить их с помощью <a href="http://developer.android.com/reference/android/preference/preferenceactivity.html#addpreferencesfromresource(int)"><code>addpreferencesfromresource()</code></a> или вы можете создать несколько <a href="http://developer.android.com/reference/android/preference/preferencescreen.html"><code>preferencescreen</code></a> объектов в коде и заполнить их с <a href="http://developer.android.com/reference/android/preference/preference.html"><code>preference</code></a> объектами таким образом.</p><p>лучше всего было бы посмотреть на приложение api demos, предоставляемое с помощью api android. это содержит много хороших примеров управления предпочтениями. вот <a href="http://developer.android.com/resources/samples/apidemos/src/com/example/android/apis/preference/preferencesfromcode.html">как он создает настройки из кода</a> , а вот <a href="http://developer.android.com/resources/samples/apidemos/res/xml/preferences.html">пример xml-файла настроек</a> . есть и другие примеры, показывающие более сложные вещи, такие как зависимости предпочтений и слушатели предпочтений.</p>

<p>на самом деле во встроенном приложении будильника для <em> редактирования </em> и <em> создания </em> будильника , есть два действия, одно для <em> создания </em> и одно для <em> редактирования </em>.</p><p><em> создать тревогу </em> - первое действие с цифровыми часами. операция <em> редактировать тревогу </em> запускается нажатием на перечисленную тревогу в <em> создать тревогу </em> деятельность.</p><p><em> редактировать будильник </em> реализует <code>preferenceactivity</code>, но <em> создать будильник </em> более сложно (пользовательский курсор адаптер для отображения сигналов тревоги).</p><p>посмотрите на <a href="http://android.git.kernel.org/?p=platform/packages/apps/alarmclock.git;a=tree">источники</a> :</p><ul> <li> <a href="http://android.git.kernel.org/?p=platform/packages/apps/alarmclock.git;a=blob;f=src/com/android/alarmclock/alarmclock.java"><em> создать тревогу </em> активность</a> </li> <li> <a href="http://android.git.kernel.org/?p=platform/packages/apps/alarmclock.git;a=blob;f=src/com/android/alarmclock/setalarm.java"><em> изменить активность тревоги </em></a> </li> </ul>