Что такое "android.R.layout.simple_list_item_1"?

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

// 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

Ответ 1

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

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

Фактически вы можете просмотреть код макетов.

Ответ 2

Это часть ОС 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> 

Ответ 3

как было сказано выше: kcoppock и Joril

перейдите сюда: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

щелкните правой кнопкой мыши файл макета, который вы хотите, затем выберите "Сохранить как", сохраните его, затем скопируйте в папку "layout" в проекте Android (eclipse)...

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

путь...

Ответ 4

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

Ответ 5

Как упоминалось Klap "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

Ответ 6

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

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

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

Ответ 7

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

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