Saya ingin menambahkan OnLongClickListener
pada tampilan daftar saya. Setiap kali pengguna menekan item dalam daftar, beberapa tindakan harus dilakukan, tetapi kode saya tidak menangkap pendengar ini. Tolong beri tahu saya di mana saya salah. Kode serupa berfungsi dengan setOnItemClickListener
sangat baik.
Ini kodenya:
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View v,
int index, long arg3) {
// TODO Auto-generated method stub
Log.d("in onLongClick");
String str=listView.getItemAtPosition(index).toString();
Log.d("long click : " +str);
return true;
}
});
Jawaban:
Anda harus mengatur setOnItemLongClickListener () di ListView:
XML untuk setiap item dalam daftar (harus Anda gunakan XML kustom) juga harus memiliki
android:longClickable="true"
(atau Anda dapat menggunakan metode kenyamananlv.setLongClickable(true);
). Dengan cara ini Anda dapat memiliki daftar dengan hanya beberapa item yang merespons klik panjang.Semoga ini bisa membantu Anda.
sumber
lv.setLongClickable(true);
juga.lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {...
Jika item baris ListView Anda merujuk ke file XML yang terpisah, pastikan untuk menambahkan
android:longClickable="true"
file tata letak itu selain pengaturansetOnItemLongClickListener()
ke ListView Anda.sumber
atau coba kode ini:
sumber
Saya pikir kode di atas ini akan berfungsi pada LongKlik daftar tampilan, bukan item individual.
mengapa tidak digunakan
registerForContextMenu(listView)
. dan kemudian mendapatkan panggilan balik di OnCreateContextMenu.Untuk sebagian besar kasus penggunaan, ini akan berfungsi sama.
sumber
Di xml tambahkan
Dalam file java
coba setOnItemLongClickListener ini ()
sumber
ini seharusnya bekerja
juga jangan lupa di xml Anda
android:longClickable="true"
atau jika Anda memiliki tampilan kustom tambahkan ini ke kelas tampilan kustom AndayouCustomView.setLongClickable(true);
di sini adalah output dari kode di atas
sumber
Saya mencoba sebagian besar jawaban ini dan semuanya gagal untuk TextViews yang mengaktifkan tautan otomatis tetapi juga harus menggunakan pers lama di tempat yang sama!
Saya membuat kelas khusus yang berfungsi.
sumber
Ini bekerja untuk saya untuk cardView dan akan bekerja sama untuk listview di dalam adaptor adaptor, dalam
onBindViewHolder()
fungsisumber
Jika Anda ingin melakukannya di adaptor, Anda cukup melakukan ini:
sumber
Pasti berhasil.
sumber