Berikut cara termudah dan termudah untuk menemukan posisi item yang diklik:
Saya juga menghadapi masalah yang sama.
Saya ingin menemukan posisi item yang diklik / dipilih dari RecyclerView () dan melakukan beberapa operasi spesifik pada item tersebut.
Metode getAdapterPosition () bekerja seperti pesona untuk hal-hal semacam ini. Saya menemukan metode ini setelah seharian melakukan penelitian yang panjang dan setelah mencoba berbagai metode lainnya.
int position = getAdapterPosition();
Toast.makeText(this, "Position is: "+position, Toast.LENGTH_SHORT).show();
Anda tidak perlu menggunakan metode tambahan apa pun. Cukup buat variabel global bernama 'position' dan inisialisasi dengan getAdapterPosition () di salah satu metode utama adaptor (kelas atau serupa).
Berikut adalah dokumentasi singkat dari tautan ini .
getAdapterPosition ditambahkan dalam versi 22.1.0 int getAdapterPosition () Mengembalikan posisi Adapter dari item yang diwakili oleh ViewHolder ini. Perhatikan bahwa ini mungkin berbeda dari getLayoutPosition () jika ada pembaruan adaptor yang tertunda, tetapi tata letak baru belum terjadi. RecyclerView tidak menangani pembaruan adaptor apa pun hingga traversal tata letak berikutnya. Ini dapat membuat ketidakkonsistenan sementara antara apa yang dilihat pengguna di layar dan konten adaptor yang dimiliki. Ketidakkonsistenan ini tidak penting karena kurang dari 16 md tetapi mungkin menjadi masalah jika Anda ingin menggunakan posisi ViewHolder untuk mengakses adaptor. Terkadang, Anda mungkin perlu mendapatkan posisi adaptor yang tepat untuk melakukan beberapa tindakan sebagai respons terhadap peristiwa pengguna. Dalam hal ini, Anda harus menggunakan metode ini yang akan menghitung posisi Adaptor ViewHolder.
Saya senang bisa membantu. Jangan ragu untuk menanyakan keraguan.