2015-10-19 28 views
13

notifyItemRemoved() yöntemini kullanıyorum Diğer kalan öğeyi değiştirmek istiyorum ancak yöntem onBindView() yöntemini tetiklemiyor.RecyclerView onClick notifyItemRemoved tetiklemiyor onBindView

notifyDataSetChanged() kullanımı dışında bunu nasıl yapabilirim. Sana RecyclerView Adapter bir öğeyi kaldırmak için çalışıyor ve tüm RecyclerView daki liste üzerinde animasyon göstermek istiyorsanız notifyItemRemoved() yöntemle

cevap

24

ile birlikte gelen animasyon yapmak istiyorum.

notifyItemRemoved(position) kullanımı kullandıktan sonra notifyItemRangeChanged(position, getItemCount());

notifyItemRemoved (pozisyon); - Bağdaştırıcıdaki verilerin belirli bir konumda kaldırıldığı RecyclerView Bağdaştırıcısına bildirir.

notifyItemRangeChanged (position, getItemCount()); - Bağdaştırıcıdaki öğenin konumlarının konumdan (değiştirilmiş öğe dizini listenin sonuna) değiştirilmiş olduğunu bildiren RecyclerView Bağdaştırıcısına bildirir, lütfen güncelleştirin.

Bu RecyclerView insert /remove animation yanıtına bakın.

+0

Yardım edildi, teşekkürler! – azizbekian

+0

Benzer bir sorunla karşılaştı ama bu '' '' '' '' '' 'hiçbir şey yapmamalı. Geri Dönüşüm Aracı'na bakın: public final void notifyItemRemoved (int position) { mObservable.notifyItemRangeRemoved (konum, 1); } –

+0

@VincentD. Bu düzeltme bir şeyler yapar. Düzeltmenin 'notifyItemRangeRemoved' yerine' notifyItemRangeChanged' kullandığını unutmayın. – Weekend