Что такое "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 (или эквивалентное место для вашей установки).