Bağdaştırıcıdan ana RecyclerView öğesine başvuruda bulunmanın daha iyi bir yolu var mı? | tutuappapks.com
Ebeveyn için referansa ihtiyacım olan bir kullanım vakam var RecyclerView adaptörün içinden, özellikle onBindViewHolder yöntem. Şimdiye kadar yaptığım şey, onu özel bir sınıfa üye olarak atamaktır. onCreateViewHolder boyunca geçen yöntem viewGroup parent arg böyle:
Ve ebeveyne referans vermek RecyclerView içinde onBindViewHolder bunun gibi:
Bunu yapmanın daha iyi bir yolu var mı? Olabilir RecyclerView.Adapter özlemiş olabileceğim bir yolu var mı?
Aslında, bağdaştırıcıya eklenmiş RecyclerView ile geri dönen belirli bir yöntem var. Sadece onAttachedToRecylerView () yöntemini geçersiz kıl.
Bunu belgelerde nasıl özledim! Teşekkür ederim, bu tam olarak aradığım şey! - nabir
Belgeler şöyle diyor: "Aynı adaptörün birden çok RecyclerViews tarafından gözlemlenebileceğini unutmayın." developer.android.com/reference/android/support/v7/widget/... Yanlışım varsa düzeltin, ancak adaptörü birden fazla RecyclerView'a atarsanız sorun yaratmaz mı? - UnTraDe
@UnTraDe evet olurdu. Yukarıdaki kod, önceki RecyclerView örneğinin üzerine yazacaktır. Bir çözüm, bağlı RecyclerView örneklerinin bir listesini tutmak ve onDetachedFromRecyclerView (..) içindeki örnekleri kaldırmak olacaktır. Mümkünse, bunu önlemek ve her bir RecyclerView örneği için bir bağdaştırıcı örneği oluşturmak en iyisi olacaktır. - masterwok
Muhtemelen viewHolder içinde bir arayüz oluşturmak ve ebeveyne geçmek ve orada uygulamak istersiniz.
Başka bir yol, kurucuda bir referansı, örn.
Satırları pandalarla birleştirmek [çift] Bir panda DataFrame'i sıraya göre normalleştirme Swift'de isteğe bağlı protokol yönteminin uygulanıp uygulanmadığını kontrol edin. İşaretçi olmayan türlerim için “boş gösterici optimizasyonu” kullanabilir miyim? Daha önceki cihazlar için Roboto yazı tipini kullan Sınıf tarafından geçersiz kılınmış uzatma yöntemleri uyarı vermiyor Boost :: C ++ Eventing için Sinyalleri kullanarak tam örnek