“Android.R.layout.simple_list_item_1” nedir?


229

Android geliştirmeyi öğrenmeye başladım ve bir kitaptan todolist örneğini takip ediyorum:

// 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);

Tam olarak bu kodu özellikle bu satırı anlayamıyorum:

android.R.layout.simple_list_item_1

Peki bu neden bir parametre? Liste görünümümü dizimle güncellemek istedim ve cevaplardan biri bunu gösterdi. Neden buna ihtiyacım olduğundan emin değilim ... İşte sorum. Teşekkürler! stackoverflow.com/questions/35098789/…
Ruchir Baronia

Yanıtlar:


259

Zakaria, bu, kendi XML düzenlerinizden biri yerine Android işletim sisteminin bir parçası olan yerleşik bir XML düzen belgesine referanstır.

Kullanabileceğiniz düzenlerin başka bir listesi: http://developer.android.com/reference/android/R.layout.html
(Güncellenmiş bağlantı sayesinde @Estel: https://github.com/android/platform_frameworks_base/ ağaç / ana / çekirdek / res / res / düzen )

Aslında düzenlerin kodunu görüntüleyebilirsiniz.


15
Düzenler ayrıca SDK kurulumunuzda
CommonsWare

10
Heh, öyle. : P Sadece Eclipse içindeki android kavanoza göz atarak onları aramaya çalışmıştım ve bana sadece "Kaynak Bulunamadı" demişti. Ama evet, platformlar altında> android-x> data> res> düzen. İyi karar. :)
Kevin Coppock

8
Liste görünümüne, tek tek satırlar için hangi düzeni kullanacağını söyler. Birden çok seçim için işaretlenmiş metin görünümleri olan başkaları da vardır, örneğin resim içeren özel mizanpajlar ve birden fazla metin görünümü yapabilirsiniz. Bu android.R olanlar sadece kullanımı kolay, sizin için zaten oluşturulmuş kaynaklar.
Kevin Coppock

30
Teşekkürler! Vay canına, bu çok fazla düzen. Tüm Android Referansları onlar hakkında ortaya koyuyor gibi görünüyor (R.layout.html'de) her id için sabit değerlerdir. Bunların her birini örnek bir kullanım örneği ile gösteren herhangi bir belge olabilir mi? (örneğin, "bu [field kimlikleri ile şekil] gibi Düzeni X görünüyor. En iyisi durumlarda a, b ve c kullanılır. Bu uygulama Y. eylem görülebilir") Evet, ise elimden bilmek harika tonozları yağmalamak ve bunları tek başıma kesmek, ancak taranabilir bir illüstrasyon listesi (XML'e karşı) çok büyük bir yardım olurdu!
Joe D'Andrea

12
Bu, Google'ın tipik bir uygulaması gibi görünüyor. Tüm bu harika teknolojiyi piyasaya sürüyorlar ve IBM'in tüm dokümantasyon becerilerine sahipler.
Mart'ta

35

Bu android işletim sisteminin bir parçasıdır. Tanımlanmış XML dosyasının gerçek sürümü.

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> 


9

Klap tarafından belirtildiği gibi "android.R.layout.simple_list_item_1, Android işletim sisteminin bir parçası olan yerleşik bir XML mizanpaj belgesine bir referanstır"
Tüm mizanpajlar şurada bulunur: sdk \ platforms \ android-xx \ data \ res \ düzen Düzenin XML'sini
görüntülemek için:
Tutulma : Basitçe android.R.layout.simple_list_item_1 kodun herhangi bir yerine yazın, Ctrl tuşunu basılı tutun, basit_list_item_1 üzerine gelin ve beliren açılır menüden "Düzeni / basit_listemit__1.xml düzeninde aç" ı seçin. Sizi XML'in içeriğine yönlendirecektir.
Android Studio : Proje Penceresi -> Harici Kütüphaneler -> Android X Platformu -> res -> düzen ve burada mevcut düzenlerin bir listesini göreceksiniz.
resim açıklamasını buraya girin


7

android.R.layout.simple_list_item_1, bu, res / layout klasörünüzdeki satırınızın karşılık gelen tasarımını içeren satır düzeni dosyasıdır listview. Şimdi sadece dizi listesi öğelerini kullanarak satır düzenine bağlarız mylistview.setadapter(aa);


5

Harici bağlantılara gitmenize gerek yok, ihtiyacınız olan her şey zaten bilgisayarınızda bulunuyor:

Android \ android-sdk \ platform \ android-x \ verilerin \ res \ düzeni.

Tüm android düzenleri için kaynak kodu burada bulunmaktadır.


4

Arvand Başına:
Tutulma: Basitçe kodda bir yere android.R.layout.simple_list_item_1 yazın , Ctrl tuşunu basılı tutun, simple_list_item_1 üzerine gelin ve görünen açılır menüden Düzeni / simple_list_item_1.xml'de bildirimi aç'ı seçin . Sizi XML'in içeriğine yönlendirecektir.

Oradan, daha sonra Editör'de ortaya çıkan simple_list_item_1.xml sekmesinin üzerine gelirseniz , dosyanın C: \ Data \ apps \ Android \ android-sdk \ platforms \ android-19 \ data \ res \ konumunda olduğunu görürsünüz. layout \ simple_list_item_1.xml (veya kurulumunuz için eşdeğer bir konum).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.