Что такое "android.R.layout.simple_list_item_1"? - PullRequest
226 голосов
/ 08 сентября 2010

Я начал изучать разработку под Android и следую примеру тодолиста из книги:

// Create the array list of to do items
final ArrayList<String> todoItems = new ArrayList<String>();

// Create the array adapter to bind the array to the listView
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(  this, 
                                android.R.layout.simple_list_item_1,
                                todoItems
                            );
myListView.setAdapter(aa);

Я не могу точно понять этот код, особенно эту строку:

android.R.layout.simple_list_item_1

Ответы [ 7 ]

257 голосов
/ 08 сентября 2010

Zakaria, это ссылка на встроенный XML-документ макета, который является частью ОС Android, а не одной из ваших собственных XML-макетов.

Вот еще один список макетов, которые вы можете использовать: http://developer.android.com/reference/android/R.layout.html
(Обновленная ссылка благодаря @Estel: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout)

Вы можете просмотреть код для макетов.

33 голосов
/ 23 августа 2013

Это часть ОС Android. Вот актуальная версия определенного файла XML.

simple_list_item_1:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/listItemFirstLineStyle"
    android:paddingTop="2dip"
    android:paddingBottom="3dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

simple_list_item_2:

<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@android:id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="?android:attr/listItemFirstLineStyle"/>

    <TextView android:id="@android:id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@android:id/text1"
        style="?android:attr/listItemSecondLineStyle" />

</TwoLineListItem> 
12 голосов
/ 18 декабря 2012

как ответили выше: kcoppock и Joril

иди сюда: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

просто щелкните правой кнопкой мыши файл макета, который вы хотите, затем выберите «Сохранить как», сохранить где-нибудь, затем скопироватьэто в папке 'layout' в вашем андроид-проекте (eclipse) ...

вы можете увидеть, как выглядит макет:)

способ пойти ...

9 голосов
/ 05 августа 2013

Как упомянул Клап "android.R.layout.simple_list_item_1 - это ссылка на встроенный XML-документ макета, который является частью ОС Android"
Все макеты находятся в: sdk \ platform \ android-xx \ data \ res \ layout
Чтобы просмотреть XML макета:
Eclipse : просто введите android.R.layout.simple_list_item_1 где-нибудь в коде, удерживайте Ctrl, наведите курсор мыши на simple_list_item_1 иВ раскрывающемся списке выберите «Открыть объявление в макете / simple_list_item_1.xml».Он направит вас к содержимому XML.
Android Studio : Окно проекта -> Внешние библиотеки -> Платформа Android X -> res -> макет, и здесь вы увидите списокдоступные макеты.
enter image description here

7 голосов
/ 05 января 2013

android.R.layout.simple_list_item_1, это файл макета строки в папке res / layout, который содержит соответствующий дизайн для вашей строки в listview. Теперь мы просто привязываем элементы списка массивов к макету строки, используя mylistview.setadapter(aa);

5 голосов
/ 03 июля 2013

Не нужно переходить на внешние ссылки, все, что вам нужно, уже находится на вашем компьютере:

Android \ Android-SDK \ платформа \ андроид-х \ Data \ Рез \ макет.

Исходный код для всех макетов Android находится здесь.

4 голосов
/ 11 сентября 2014

В Arvand:
Затмение: просто введите android.R.layout.simple_list_item_1 где-нибудь в коде, удерживайте Ctrl, наведите курсор мыши на simple_list_item_1 и в появившемся раскрывающемся списке выберите Открыть объявление в layout / simple_list_item_1.xml .Он направит вас к содержимому XML.

Оттуда, если вы наведите курсор мыши на результирующую вкладку simple_list_item_1.xml в редакторе, вы увидите, что файл расположенв C: \ Data \ application \ Android \ android-sdk \ platform \ android-19 \ data \ res \ layout \ simple_list_item_1.xml (или эквивалентное расположение для вашей установки).

...