Memastikan Item Terpilih ListView Diserlahkan dalam Android
Dalam pembangunan Android, selalunya wajar untuk menyerlahkan item yang dipilih dalam ListView sambil memaparkan butiran daripada item yang dipilih dalam ListView yang berasingan. Artikel ini menangani isu biasa yang berkaitan dengan senario ini.
Masalah:
Apabila pengguna memilih item dalam ListView (lv_cli), butiran klien yang dipilih hendaklah dipaparkan dalam ListView (lv_cli_det) yang berasingan. Walau bagaimanapun, apabila berbuat demikian, item pilihan pengguna dalam lv_cli kehilangan sorotannya.
Penyelesaian:
Penyelesaian terletak pada penggunaan atribut android:choiceMode="singleChoice" dalam susun atur XML. Atribut ini menentukan tingkah laku pemilihan untuk ListView, membenarkan hanya satu item dipilih pada satu masa. Latar belakang item yang dipilih akan diserlahkan secara automatik menggunakan atribut android:listSelector="#666666".
Kod:
<ListView android:id="@+id/cli_lista" android:layout_width="512dp" android:layout_height="wrap_content" android:fadeScrollbars="false" android:choiceMode="singleChoice" android:listSelector="@color/my_selector" > </ListView>
Sebagai alternatif, anda boleh menetapkan atribut ini secara pengaturcaraan menggunakan kaedah setSelector() dan setChoiceMode() bagi kelas ListView.
Menggunakan pendekatan ini, item yang dipilih dalam lv_cli akan kekal diserlahkan manakala butiran klien yang dipilih dipaparkan dalam lv_cli_det.
Nota Penting:
Adalah penting untuk mengelak daripada menguruskan latar belakang paparan secara langsung sebagai tindak balas kepada acara onItemClick. Memandangkan paparan adalah objek sementara, pendekatan ini boleh membawa kepada gelagat yang tidak dapat diramalkan apabila item ditatal keluar dari paparan dan digunakan semula.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Item Terpilih ListView Disorotkan dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!