2010-09-08 8 views
211

J'ai commencé à apprendre le développement Android et suis un exemple todolist suit d'un livre:Qu'est-ce que "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); 

Je ne peux pas comprendre exactement ce code en particulier cette ligne:

android.R.layout.simple_list_item_1 
+0

Mais pourquoi est-ce un paramètre? Je voulais juste mettre à jour ma listview avec mon tableau, et l'une des réponses l'a montré. Je ne sais pas pourquoi j'ai besoin de ça ... Voici ma question. Merci! http://stackoverflow.com/questions/35098789/how-to-update-the-listview-accord-to-arraylist/35099000?noredirect=1#comment57929962_35099000 –

Répondre

248

Zakaria, qui est un référence à un document de mise en page XML intégré faisant partie du système d'exploitation Android, plutôt qu'à l'une de vos propres mises en page XML.

Voici une liste supplémentaire de mise en page que vous pouvez utiliser: http://developer.android.com/reference/android/R.layout.html
(lien Mise à jour grâce @Estel: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout)

Vous pouvez réellement voir le code pour les mises en page.

+15

Les mises en page sont également dans votre installation SDK – CommonsWare

+10

Heh, ils sont donc . : P J'avais déjà essayé de les chercher juste en parcourant le pot androïde dans Eclipse et il m'a juste dit "Source introuvable". Mais oui, ils sont sous des plates-formes> android-x> données> res> mise en page. Bon appel. :) – kcoppock

+0

Merci pour la réponse. Mais quel est le but d'appeler cette disposition dans un ArrayAdapter? – Zakaria

10

comme une réponse ci-dessus par: kcoppock et Joril

aller ici: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

cliquez droit sur le fichier de mise en page que vous voulez, puis sélectionnez « Enregistrer sous », sauf quelque part, puis copiez-le dans « layout » dossier dans votre projet Android (eclipse) ...

vous pouvez voir comment la mise en page ressemble :)

chemin à parcourir ...

7

android.R.layout.simple_list_item_1, il s'agit du fichier de disposition des lignes dans votre dossier res/layout qui contient le dessin correspondant à votre ligne dans listview. Maintenant, nous lions simplement les éléments de la liste de tableaux à la disposition des lignes en utilisant mylistview.setadapter(aa);

+2

Bienvenue sur stackoverflow. Merci de partager votre savoir. – Brett

5

Pas besoin d'aller aux liens externes, tout ce dont vous avez besoin se trouve sur votre ordinateur déjà:

Android \ plates-formes \ android-sdk \ android-x \ data \ res \ layout.

Le code source de toutes les configurations Android est situé ici.

7

Comme mentionné par Klap « android.R.layout.simple_list_item_1 est une référence à un document intégré mise en page XML qui fait partie du système d'exploitation Android »
Toutes les mises en page sont situés dans: sdk plates-formes \ \ Android- xx \ data \ res \ layout
Pour afficher le code XML de mise en page:
Eclipse: Il suffit de taper android.R.layout.simple_list_item_1 quelque part dans le code, maintenez la touche Ctrl, survolez simple_list_item_1, et dans le menu déroulant qui apparaît, sélectionnez " Ouvrir la déclaration dans layout/simple_list_item_1.xml ". Cela vous dirigera vers le contenu du XML.
Android Studio: Fenêtre Projet -> Bibliothèques externes -> Plate-forme Android X -> res -> mise en page, et vous trouverez ici une liste des mises en page disponibles.
enter image description here

29

Ceci est une partie de l'OS android. Voici la version actuelle du fichier XML défini.

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

par Arvand:
Eclipse: Tapez simplement android.R.layout.simple_list_item_1 quelque part dans le code, maintenez la touche Ctrl, survolez simple_list_item_1, et dans la liste déroulante qui apparaît, sélectionnez Ouvrir la déclaration dans la mise en page/simple _list_item_1.xml. Cela vous dirigera vers le contenu du XML.

À partir de là, si vous puis passez la souris sur l'onglet simple_list_item_1.xml dans l'éditeur résultant, vous verrez le fichier se trouve à C: \ Data \ applications \ Android \ plates-formes \ android-sdk \ android -19 \ data \ res \ layout \ simple_list_item_1.xml (ou un emplacement équivalent pour votre installation).