2010-09-08 2 views
211

Я начал изучать Android развития, и я после ToDoList пример из книги:Что такое "android.R.layout.simple_list_item_1"?

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

Но почему это параметр? Я просто хотел обновить свой список со своим массивом, и один из ответов показал это. Я не уверен, зачем мне это ... Вот мой вопрос. Благодаря! http://stackoverflow.com/questions/35098789/how-to-update-the-listview-according-to-arraylist/35099000?noredirect=1#comment57929962_35099000 –

ответ

248

Закария, то есть ссылка на встроенный документ макета 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)

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

+15

Макеты также находятся в вашей установке SDK – CommonsWare

+10

Хех, поэтому они , : P Я пробовал искать их, просто просматривая андроид-банку в Eclipse, и он просто сказал мне «Source Not Found». Но да, они находятся под платформами> android-x> data> res> layout. Хороший звонок. :) – kcoppock

+0

Спасибо за ответ. Но какова цель назвать этот макет в ArrayAdapter? – Zakaria

10

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

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

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

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

путь ...

7

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

+2

Добро пожаловать в stackoverflow. Спасибо, что поделились своими знаниями. – Brett

5

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

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

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

7

Как отметил Klap «android.R.layout.simple_list_item_1 является ссылкой на встроенном документе разметки XML, который является частью операционной системы Android»
Всех макетов расположены в: \ SDk платформе \ android- хх \ Data \ Рез \ раскладка
Для просмотра XML макета:
Затмение: Просто введите android.R.layout.simple_list_item_1 где-то в коде, удерживая Ctrl, парить над simple_list_item_1, и из выпадающего списка, который появляется выберите " Открыть объявление в макете/simple_list_item_1.xml ". Он направит вас на содержимое XML.
Android Studio: Окно проекта -> Внешние библиотеки -> Платформа Android X -> res -> layout, и здесь вы увидите список доступных макетов.
enter image description here

29

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

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

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