2010-09-08 4 views
211

he empezado el aprendizaje de desarrollo de Android y estoy siguiendo un ejemplo todolist de un libro:¿Qué es "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); 

no puedo entender exactamente el código especial de esta línea:

android.R.layout.simple_list_item_1 
+0

¿Pero por qué es eso un parámetro? Solo quería actualizar mi lista de lista con mi matriz, y una de las respuestas mostró esto. No estoy seguro de por qué necesito esto ... Aquí está mi pregunta. ¡Gracias! http://stackoverflow.com/questions/35098789/how-to-update-the-listview-according-to-arraylist/35099000?noredirect=1#comment57929962_35099000 –

Respuesta

248

Zakaria, que es una referencia a un documento de diseño XML incorporado que es parte del sistema operativo Android, en lugar de uno de sus propios diseños XML.

Aquí está una lista adicional de los diseños que se pueden utilizar: http://developer.android.com/reference/android/R.layout.html
(Actualizado enlace gracias @Estel: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout)

En realidad se puede ver el código de los diseños.

+15

Los diseños también están en su instalación de SDK – CommonsWare

+10

Heh, por lo que son . : P He intentado buscarlos antes simplemente navegando por el tarro android dentro de Eclipse y me acaba de decir "Fuente no encontrada". Pero sí, están en plataformas> android-x> data> res> layout. Buena llamada. :) – kcoppock

+0

Gracias por la respuesta. ¿Pero cuál es el propósito de llamar a este diseño en un ArrayAdapter? – Zakaria

10

como la explicación anterior por: kcoppock y Joril

entra aquí: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

simplemente haga clic derecho en el archivo diseño que desee, a continuación, seleccione 'Guardar como', salvo en algún lugar, a continuación, copiarlo en el 'diseño' carpeta en su proyecto androide (eclipse) ...

se puede ver cómo el diseño se parece :)

camino a seguir ...

7

android.R.layout.simple_list_item_1, este es el archivo de disposición de fila en su carpeta res/layout que contiene el diseño correspondiente para su fila en listview. Ahora solo vinculamos los elementos de la lista de arreglo al diseño de fila usando mylistview.setadapter(aa);

+2

Bienvenido a stackoverflow. Gracias por compartir su conocimiento. – Brett

5

No hay necesidad de ir a los enlaces externos, todo lo que necesita se encuentra en el equipo ya:

Android \ android-sdk \ plataformas \ android-x \ data \ res \ layout.

El código fuente para todos los diseños de Android se encuentra aquí.

7

Como se ha mencionado por Klap "android.R.layout.simple_list_item_1 es una referencia a una incorporado en el documento de diseño XML que es parte del sistema operativo Android"
Todos los diseños se encuentran en: \ plataformas SDK \ Android- xx \ data \ res \ layout
Para ver el XML de diseño:
Eclipse: Simplemente escriba android.R.layout.simple_list_item_1 en algún lugar del código, mantenga pulsado Ctrl, se ciernen sobre simple_list_item_1, y en el menú desplegable que aparece, seleccione " Declaración abierta en layout/simple_list_item_1.xml ". Te dirigirá a los contenidos del XML.
Android Studio: Ventana de proyecto -> Bibliotecas externas -> Plataforma Android X -> res -> diseño, y aquí verá una lista de diseños disponibles.
enter image description here

29

Esto es una parte del sistema operativo Android. Aquí está la versión actual del archivo XML definido.

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

por Arvand:
Eclipse: Simplemente escriba android.R.layout.simple_list_item_1 en algún lugar del código, mantenga pulsado Ctrl, se ciernen sobre simple_list_item_1, y del menú desplegable que aparece seleccione Declaración abierta en diseño/simple _list_item_1.xml. Te dirigirá a los contenidos del XML.

A partir de ahí, si luego pasa sobre el simple_list_item_1.xml pestaña que resulta en el Editor, verá el archivo se encuentra en C: \ Data \ applications \ \ \ Android plataformas android-sdk \ androide -19 \ data \ res \ layout \ simple_list_item_1.xml (o ubicación equivalente para su instalación).