Bagaimana cara mendengarkan acara klik pada ListView?
Inilah yang saya miliki sekarang
ListView list = (ListView)findViewById(R.id.ListView01);
...
list.setAdapter(adapter);
Ketika saya melakukan hal berikut
list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView parentView, View childView,
int position, long id)
{
setDetail(position);
}
public void onNothingSelected(AdapterView parentView) {
}
});
Tampaknya tidak melakukan apa-apa saat klik.
Dan semua kode itu hidup dalam kelas yang memperluas Activity.
android
listview
click
onitemclicklistener
teepusink
sumber
sumber
Misalkan objek ListView adalah lv, lakukan hal berikut-
sumber
lv
tidak dapat diakses di dalamonItemClick
. Apa cara yang bagus untuk menyiasatinya?final ListView lv = (ListView) findViewById(R.id.your_list_view);
Object o = ((ListView)arg0).getItemAtPosition(position);
Anda perlu mengatur tampilan yang meningkat "Dapat Diklik" dan "dapat mendengarkan acara klik" dalam metode getView () kelas adaptor Anda.
dan nyatakan pendengar klik di ListActivity Anda sebagai berikut,
Ini berlaku hanya ketika Anda mengkustomisasi Adaptor dengan memperluas BaseAdapter.
Rujuk ANDROID_SDK / samples / ApiDemos / src / com / example / android / apis / view / List14.java untuk detail lebih lanjut
sumber
Dua jawaban sebelum saya benar - Anda dapat menggunakan
OnItemClickListener
.Baik untuk dicatat bahwa perbedaan antara
OnItemClickListener
danOnItemSelectedListener
, meskipun terdengar halus, sebenarnya penting, karena pemilihan dan fokus item terkait dengan mode sentuh AndaAdapterView
.Secara default, dalam mode sentuh, tidak ada pilihan dan fokus. Anda dapat melihat di sini untuk info lebih lanjut tentang masalah ini.
sumber
Solusi ini sangat minimalis dan tidak mengacaukan kode Anda.
Di list_item.xml Anda (BUKAN listView!) Tentukan atribut android: onClick seperti ini:
dan kemudian dalam aktivitas Anda panggil metode ini:
sumber
view
dapat memiliki beberapa metadata, itu bisa menjadi cara bagaimana mendapatkan posisi.Anda harus menggunakan
setOnItemClickListener
seseorang berkata.Kode harus seperti ini:
sumber
Pertama, kelas harus mengimplementasikan pendengar klik:
Kemudian atur pendengar ke ListView
Dan akhirnya, buat metode clic:
Anda dapat melihatnya dan mengunduh kode di sini
sumber
Gunakan api setOnItemClickListener () di aktivitas Anda. Berikut ini adalah sampelnya.
sumber
Di Kotlin, tambahkan pendengar ke listView Anda sesederhana java
sumber