Projemde"change" animasyonu notifyItemChanged
'u devre dışı bırakmam gerekir. NotifyItemChanged'in animasyonunu devre dışı bırakmak için RecyclerView öğesinin ItemAnimator'ı nasıl uygulanır?
RecyclerView
kaynağında araştırdık ve aşağıda
android.support.v7.widget.DefaultItemAnimator
geçersiz etmişti:
private static class ItemAnimator extends DefaultItemAnimator
{
@Override
public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromX, int fromY, int toX, int toY) {
if(oldHolder != null)
{
oldHolder.itemView.setVisibility(View.INVISIBLE);
dispatchChangeFinished(oldHolder, true);
}
if(newHolder != null)
{
dispatchChangeFinished(newHolder, false);
}
return false;
}
}
Ama Google belgenin spec eşleşirse emin değilim: benim anlayışıma göre RecyclerView.ItemAnimator.animateChange
Kaynak kodu, yöntemi düzgün bir şekilde geçersiz kılmazsam, eskiHolder , geri dönüştürülmez.
Lütfen animateChange
'un nasıl geçersiz kılınacağına dair bana yardımcı olun.
bu doğru çözümü için buraya bakınız: http://stackoverflow.com/a/42969391/2220337 – cjurjiu