Tıklanan öğenin konumunu bulmanın en basit ve en kolay yolu:
Ben de aynı problemle karşılaştım.
RecyclerView () öğesinin tıklanan / seçilen öğesinin konumunu bulmak ve bu belirli öğe üzerinde bazı özel işlemler gerçekleştirmek istedim.
getAdapterPosition () yöntemi, bu tür şeyler için bir cazibe görevi görür. Bu yöntemi uzun bir araştırma gününden sonra ve birçok başka yöntemi denedikten sonra buldum.
int position = getAdapterPosition();
Toast.makeText(this, "Position is: "+position, Toast.LENGTH_SHORT).show();
Herhangi bir ekstra yöntem kullanmanıza gerek yoktur. Sadece 'position' adında global bir değişken oluşturun ve bunu adaptörün ana yöntemlerinden herhangi birinde (sınıf veya benzeri) getAdapterPosition () ile başlatın.
İşte bu bağlantıdan kısa bir belge .
22.1.0 sürümünde eklenen getAdapterPosition int getAdapterPosition () Bu ViewHolder tarafından temsil edilen öğenin Bağdaştırıcı konumunu döndürür. Bekleyen bağdaştırıcı güncellemeleri varsa, ancak yeni bir düzen geçişi henüz gerçekleşmediyse, bunun getLayoutPosition () 'dan farklı olabileceğini unutmayın. RecyclerView, bir sonraki düzen geçişine kadar herhangi bir adaptör güncellemesini işlemez. Bu, kullanıcının ekranda gördükleri ile adaptör içeriğinin sahip olduğu arasında geçici tutarsızlıklar oluşturabilir. Bu tutarsızlık, 16 ms'den daha az olacağından önemli değildir, ancak adaptöre erişmek için ViewHolder konumunu kullanmak istiyorsanız bir sorun olabilir. Bazen, kullanıcı olaylarına yanıt olarak bazı eylemler yapmak için tam adaptör konumunu almanız gerekebilir. Bu durumda, ViewHolder'ın Adaptör konumunu hesaplayacak olan bu yöntemi kullanmalısınız.
Memnuniyetle yardım ettim. Şüphe sormaktan çekinmeyin.