Saya ingin membuat custom adapter
untuk tampilan daftar saya. Adakah artikel yang bisa memandu saya cara membuatnya dan juga menjelaskan cara kerjanya?
android
listview
android-tablelayout
custom-adapter
Harsha MV
sumber
sumber
Jawaban:
Ini adalah kelas yang saya gunakan untuk proyek saya. Anda perlu memiliki koleksi barang-barang Anda yang ingin Anda tampilkan, dalam kasus saya itu
<Item>
. Anda perlu menggantiView getView(int position, View convertView, ViewGroup parent)
metode.R.layout.itemlistrow
mendefinisikan baris dariListView
.Di
MainActivity
definisikanListView
seperti ini,sumber
Saya tahu ini sudah dijawab ... tetapi saya ingin memberikan contoh yang lebih lengkap.
Dalam contoh saya,
ListActivity
yang akan menampilkan kebiasaan kamiListView
disebutOptionsActivity
, karena dalam proyek saya iniActivity
akan menampilkan berbagai opsi yang dapat diatur pengguna saya untuk mengontrol aplikasi saya. Ada dua jenis item daftar, satu jenis item daftar hanya memilikiTextView
dan jenis item daftar kedua hanya memilikiButton
. Anda dapat menempatkan widget apa pun yang Anda suka di dalam setiap jenis item daftar, tetapi saya tetap menggunakan contoh ini sederhana.The
getItemView()
Metode pemeriksaan untuk melihat daftar item harus tipe 1 atau tipe 2. Menurut int statis saya didefinisikan di bagian atas, yang pertama 5 item daftar akan item daftar tipe 1, dan terakhir 5 item daftar akan item daftar tipe 2 Jadi, jika Anda mengkompilasi dan menjalankan ini, Anda akan memilikiListView
yang memiliki lima item yang hanya mengandungButton
, dan kemudian lima item yang hanya mengandung aTextView
.Di bawah ini adalah
Activity
kode, file xml aktivitas, dan file xml untuk setiap jenis item daftar.OptionsActivity.java:
activity_options.xml:
list_item_type_1.xml:
list_item_type2.xml:
sumber
Kode ini mudah dimengerti.
three_horizontal_text_views_layout.xml
ThreeStrings.java
ThreeHorizontalTextViewsAdapter.java
main_layout.xml
MainActivity.java
sumber
ThreeHorizontalTextViewsAdapter.java
. Apakah sama dengan yang tersisaActivities
Google memiliki contoh yang disebut EfficientAdapter, yang menurut saya adalah contoh sederhana terbaik tentang bagaimana menerapkan adaptor khusus. http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html @CommonsWare telah menulis penjelasan yang baik tentang pola yang digunakan dalam contoh di atas http: // commonsware.com/Android/excerpt.pdf
sumber
Anda dapat melihat contoh ini di ApiDemos resmi. Ini menunjukkan cara memperluas
BaseAdapter
dan menerapkannya keListView
. Setelah itu, lihat saja referensiBaseAdapter
dan cobalah untuk memahami apa yang dilakukan masing-masing metode (termasuk yang diwariskan) dan kapan / bagaimana menggunakannya.Juga, Google adalah teman Anda :).
sumber
periksa tautan ini , secara sangat sederhana melalui
convertView
, kita bisa mendapatkan tata letak baris yang akan ditampilkan dalam listview (yang merupakanparentView
).menggunakan posisi, Anda bisa mendapatkan objek
List<Item>
.setelah itu kita harus mengatur detail objek yang diinginkan ke widget form yang diidentifikasi.
maka akan mengembalikan tampilan yang dikonstruksikan yang akan dilampirkan pada
parentView
(yang merupakanListView
/GridView
).sumber
Berikut ini adalah langkah lengkap untuk membuat adaptor khusus untuk tampilan daftar langkah demi langkah -
https://www.caveofprogramming.com/guest-posts/custom-listview-with-imageview-and-textview-in-android.html
sumber
Model data
Array Adapter
Aktifitas utama
row_item.xml
sumber
Contoh yang lebih ringkas dari adaptor khusus (menggunakan array daftar sebagai data saya):
Dan inilah cara menggunakannya:
sumber
BaseAdapter
adalah adaptor khusus terbaik untuk tampilan daftar.dan memiliki banyak fungsi seperti
getCount()
,getView()
dll.sumber
Ini sangat sederhana.
Sumber: Tutorial Android ListView Kustom
sumber
sumber
sumber