Lihat seperti layar kontak Android

Saya sedang mengembangkan aplikasi dengan banyak elemen yang harus diurutkan berdasarkan abjad, dan saya ingin aplikasi tersebut memiliki tampilan dan nuansa yang sama seperti daftar kontak Android, Yaitu

[Letter]
<contact>
<contact>
[Letter]
<contact>
<contact>
<contact>

dll.

Manakah cara terbaik untuk mencapai tata letak yang sama? Saya telah melihat beberapa tutorial mengenai daftar yang dapat digulir, tapi ini sedikit berbeda. Saya telah melihat sedikit kode sumber Android, tetapi jika ada yang punya jawabannya, itu akan menghemat banyak waktu saya.

Terima kasih sebelumnya.


person Maragues    schedule 21.04.2010    source sumber


Jawaban (1)


Anda dapat menggunakan MergeAdapter saya untuk itu, baik secara langsung atau sebagai dasar untuk membuat adaptor Anda sendiri yang memberi Anda tampilan yang Anda inginkan.

Singkatnya, Anda perlu membuat ListAdapter yang menangani kontak dan judul Anda. Kemungkinan besar Anda akan menggunakan tampilan yang berbeda untuk itu, dan ada metode yang Anda ganti di ListAdapter untuk setiap Android tentang hal itu. Anda juga dapat memilih untuk mengatakan bahwa judul tersebut tidak "diaktifkan", artinya judul tersebut tidak akan merespons peristiwa pemilihan atau klik.

person CommonsWare    schedule 21.04.2010
comment
Terima kasih banyak. Apakah Anda mengetahui adanya peningkatan kinerja besar yang dapat dilakukan pada kode Anda? Ini sangat mirip dengan yang lain yang saya lihat: jsharkey.org/blog/2008/08/18/ Saya takut menggunakannya karena ini dikembangkan ketika versi 0.9 keluar, dan saya khawatir penggunaan/kinerjanya telah banyak berubah, tapi milikmu hampir satu tahun lebih tua dan mengikuti gagasan yang sama. PS: Saya belum bisa memilih :( - person Maragues; 21.04.2010
comment
Apakah Anda mengetahui adanya peningkatan kinerja besar yang dapat dilakukan pada kode Anda? Saya tidak menyadarinya memiliki masalah kinerja. Ini lebih baru dari milik Tuan Sharkey, tapi mungkin masih berfungsi. Namun, perhatikan bahwa ini adalah GPLv3, yang mungkin cocok atau tidak cocok untuk proyek Anda. Milik saya berlisensi Apache 2.0. - person CommonsWare; 21.04.2010
comment
Maaf jika saya salah mengungkapkan diri, saya tidak mengkritik pekerjaan Anda, hanya ingin tahu apakah Anda mengetahui kemungkinan perbaikan tetapi belum mengembangkannya. terima kasih sekali lagi atas jawabannya dan atas sarannya tentang perbedaan lisensi, saya akan memeriksa ketentuannya. - person Maragues; 21.04.2010
comment
hanya ingin tahu apakah Anda mengetahui adanya kemungkinan perbaikan tetapi belum mengembangkannya. Ya, adaptornya tidak banyak. Saya dapat melihat beberapa variasi pada MergeAdapter yang dapat menawarkan kinerja yang sedikit lebih baik melalui caching beberapa perhitungan, dengan konsekuensi tidak dapat memperbarui konten secara dinamis (misalnya, memanggil requery() pada salah satu adaptor anak). - person CommonsWare; 21.04.2010