Apa itu "android.R.layout.simple_list_item_1"?

229

Saya sudah mulai belajar pengembangan Android dan mengikuti contoh balita dari sebuah buku:

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

Saya tidak dapat memahami persis kode ini, terutama baris ini:

android.R.layout.simple_list_item_1
Zakaria
sumber
Tapi mengapa itu parameter? Saya hanya ingin memperbarui tampilan daftar saya dengan array saya, dan salah satu jawaban menunjukkan ini. Saya tidak yakin mengapa saya membutuhkan ini ... Ini pertanyaan saya. Terima kasih! stackoverflow.com/questions/35098789/…
Ruchir Baronia

Jawaban:

259

Zakaria, yang merupakan referensi ke dokumen tata letak XML bawaan yang merupakan bagian dari OS Android, bukan salah satu dari tata letak XML Anda sendiri.

Berikut adalah daftar tata letak lebih lanjut yang dapat Anda gunakan: http://developer.android.com/reference/android/R.layout.html
(Tautan yang diperbarui terima kasih @Estel: https://github.com/android/platform_frameworks_base/ pohon / master / inti / res / res / tata letak )

Anda benar-benar dapat melihat kode untuk tata letak.

Kevin Coppock
sumber
15
Layout juga ada di instalasi SDK Anda
CommonsWare
10
Heh, begitulah mereka. : P Saya sudah mencoba mencari mereka sebelumnya hanya dengan menelusuri jar android di dalam Eclipse dan itu hanya mengatakan kepada saya "Sumber Tidak Ditemukan". Tapi ya, mereka di bawah platform> android-x> data> res> tata letak. Panggilan yang bagus. :)
Kevin Coppock
8
Ini memberitahu listview tata letak apa yang digunakan untuk baris individu. Ada orang lain dengan tampilan teks yang diperiksa untuk beberapa pilihan, Anda dapat membuat tata letak khusus yang menyertakan gambar, dan beberapa tampilan teks misalnya. Ini android.R hanya beberapa mudah digunakan, sumber daya yang sudah dibuat untuk Anda.
Kevin Coppock
30
Terima kasih! Wow, itu banyak tata letak. Semua Referensi Android tampaknya mengungkapkan tentang mereka (dalam R.layout.html) adalah nilai konstan untuk setiap id. Mungkinkah ada dokumentasi yang menggambarkan masing-masing dengan case use sampel? (misalnya, "Layout X terlihat seperti [angka dengan id bidang] ini. Hal ini paling baik digunakan dalam kasus-kasus a, b, dan c. Hal ini dapat dilihat dalam tindakan di aplikasi Y.") Ya, itu adalah besar untuk tahu saya bisa menjarah brankas dan meretas semua ini sendiri, tetapi daftar ilustrasi yang dapat dipindai (vs XML) akan sangat membantu!
Joe D'Andrea
12
Ini sepertinya praktik khas Google. Mereka merilis semua teknologi hebat ini dan memiliki semua keterampilan dokumentasi IBM.
angryITguy
35

Ini adalah bagian dari OS android. Ini adalah versi aktual dari file XML yang ditentukan.

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> 
nikoo28
sumber
9

Seperti disebutkan oleh Klap "android.R.layout.simple_list_item_1 adalah referensi ke dokumen tata letak XML bawaan yang merupakan bagian dari OS Android"
Semua tata letak terletak di: sdk \ platform \ android-xx \ data \ res \ tata letak
Untuk melihat XML tata letak:
Eclipse : Cukup ketik android.R.layout.simple_list_item_1 di suatu tempat dalam kode, tahan Ctrl, arahkan kursor ke simple_list_item_1, dan dari dropdown yang muncul pilih "Buka deklarasi dalam tata letak / simple_list_item_1.xml". Ini akan mengarahkan Anda ke isi XML.
Android Studio : Project Window -> External Library -> Android X Platform -> res -> layout, dan di sini Anda akan melihat daftar layout yang tersedia.
masukkan deskripsi gambar di sini

Arvand
sumber
7

android.R.layout.simple_list_item_1, ini adalah file tata letak baris di folder res / tata letak Anda yang berisi desain terkait untuk baris Anda di listview. Sekarang kita hanya mengikat item daftar array ke tata letak baris dengan menggunakan mylistview.setadapter(aa);

Swathieswari
sumber
5

Tidak perlu pergi ke tautan eksternal, semua yang Anda butuhkan sudah ada di komputer Anda:

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

Kode sumber untuk semua tata letak android ada di sini.

Aaron Klap
sumber
4

Per Arvand:
Eclipse: Cukup ketik android.R.layout.simple_list_item_1 di suatu tempat dalam kode, tahan Ctrl, arahkan kursor ke simple_list_item_1 , dan dari dropdown yang muncul pilih Buka deklarasi dalam tata letak / simple_list_item_1.xml . Ini akan mengarahkan Anda ke isi XML.

Dari sana, jika Anda mengarahkan kursor ke tab simple_list_item_1.xml yang dihasilkan di Editor, Anda akan melihat file tersebut berada di C: \ Data \ application \ Android \ android-sdk \ platform \ android-19 \ data \ res \ layout \ simple_list_item_1.xml (atau lokasi yang setara untuk instalasi Anda).

Barry Holroyd
sumber