2010-09-08 11 views
211

zacząłem naukę i rozwój Android am następstwie todolist przykład z książki:Co to jest "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); 

Nie mogę zrozumieć, właśnie ten kod zwłaszcza ten wiersz:

android.R.layout.simple_list_item_1 
+0

Ale dlaczego jest to parametr? Chciałem tylko zaktualizować mój listview za pomocą mojej tablicy, a jedna z odpowiedzi pokazała to. Nie jestem pewien, dlaczego potrzebuję tego ... Oto moje pytanie. Dzięki! http://stackoverflow.com/questions/35098789/how-to-update-the-listview-according-to-arraylist/35099000?noredirect=1#comment57929962_35099000 –

Odpowiedz

248

Zakaria, że ​​jest odniesienie do wbudowanego dokumentu układu XML, który jest częścią systemu operacyjnego Android, a nie do jednego z własnych układów XML.

Oto kolejna lista układów, które można użyć: http://developer.android.com/reference/android/R.layout.html
(Aktualizacja łącza dzięki @Estel: https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout)

można rzeczywiście zobaczyć kod dla układów.

+15

Układy są również w instalacji SDK – CommonsWare

+10

Heh, więc są one . : P Próbowałem ich szukać wcześniej, przeglądając słoik Androida w Eclipse i po prostu powiedział mi "Source Not Found". Ale tak, są pod platformami> Android-x> data> res> layout. Dobra decyzja. :) – kcoppock

+0

Dzięki za odpowiedź. Ale jaki jest cel wywołania tego układu w ArrayAdapter? – Zakaria

7

android.R.layout.simple_list_item_1, jest to plik układu wiersza w twoim folderze res/layout, który zawiera odpowiedni projekt dla twojego wiersza w listview. Teraz po prostu wiążemy elementy listy tablicowej z układem wierszy za pomocą mylistview.setadapter(aa);

+2

Witamy w stackoverflow. Dziękuję za podzielenie się swoją wiedzą. – Brett

5

Nie ma potrzeby, aby przejść do linków zewnętrznych, wszystko czego potrzebujesz znajduje się na komputerze już:

Android \ android-sdk \ platform \ android-x \ data \ Res \ layout.

Kod źródłowy wszystkich układów Androida znajduje się tutaj.

7

Jak wspomniano przez Klap „android.R.layout.simple_list_item_1 jest odniesienie do wbudowanych w układ dokumentu XML, który jest częścią systemu operacyjnego Android”
Wszystkie układy znajdują się w: SDK platformy \ \ android- xx \ data \ Res \ layout
Aby wyświetlić XML w układzie:
Eclipse: Wystarczy wpisać android.R.layout.simple_list_item_1 gdzieś w kodzie, należy przytrzymać klawisz Ctrl, najedź simple_list_item_1 i z menu, które się pojawi wybierz " Otwórz deklarację w layoucie/simple_list_item_1.xml ". To przekieruje cię do zawartości XML.
Android Studio: Okno projektu -> Zewnętrzne biblioteki -> Platforma Android X -> res -> layout, a tutaj zobaczysz listę dostępnych układów.
enter image description here

29

To jest część systemu Android. Oto aktualna wersja zdefiniowanego pliku 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 Arvand:
Eclipse: Wystarczy wpisać android.R.layout.simple_list_item_1 gdzieś w kodzie, należy przytrzymać klawisz Ctrl, najedź simple_list_item_1 iz rozwijanego menu wybierz Deklaracja otwarta w układzie/prosta _list_item_1.xml. To przekieruje cię do zawartości XML.

Stamtąd, jeśli następnie najedź powstałego simple_list_item_1.xml zakładce w edytorze, zobaczysz plik znajduje się na C: \ Dane aplikacji \ \ Android \ android-sdk \ platform \ android -19 \ data \ res \ layout \ simple_list_item_1.xml (lub odpowiednik lokalizacji dla twojej instalacji).