Nun, ich habe einen RecyclerView mit einem Adapter und alles funktioniert super. Die Elemente im ArrayList-Dataset werden regelmäßig aktualisiert. So ändern sich die Elemente und ihre Elemente sowie ihre Position in der Liste. Dies wird durch einfaches Sortieren erreicht und manuell diese Methoden aufrufen, wann immer Dinge passieren:Override-Animation für notifyItemChanged in RecyclerView.Adapter
// swapping two items
Collections.swap(items, i, j);
itemsAdapter.notifyItemMoved(i, j);
// adding a new one
itemAdapter.notifyItemInserted(items.size());
// when updating valus
itemAdapter.notifyItemChanged(i);
Letztere von denen, die Ursache meines Elends ist. Jedes Mal, wenn ein Gegenstand aktualisiert wird, wird eine kleine "Blink" -Animation ausgelöst.
fand ich ein paar Lösungen:
// disabling all animations
recyclerView.getItemAnimator().setSupportsChangeAnimations(false);
// or
// setting the animation duration to zero,
recyclerView.getItemAnimator().setChangeDuration(0);
Aber diese beiden töten die Animationen, wenn Elemente bewegen (getauscht werden). Ich möchte nur die eine Animation außer Kraft setzen und all das magisch halten. Gibt es eine Möglichkeit, dies zu tun? Und wenn es ItemAnimator außer Kraft setzt, hat jemand ein einfaches Beispiel?
Vielen Dank im Voraus!
Haben Sie eine Lösung dafür gefunden? Ich habe versucht mit .setSupportsChangeAnimation (false), aber ich bekomme immer noch einen blink mit notifyItemChanged. –