我的 RecyclerView defaultItemAnimator 有问题。当我使用 notifyItemRemoved() 删除我的一个项目时,我还在另一个特定索引上调用 notifyItemChanged() 以更改其中的文本。在移除动画期间,我调用 notifyItemChanged() 的项目更改了它的文本,但做了一些看起来像拇指酸痛一样突出的愚蠢动画。 (它立即移动到它的新位置,而其余的则平稳地移动到它们的新位置)
有没有办法在 notifyItemRemoved() 完成时收到通知,然后我可以调用 notifyItemChanged()?
最佳答案
一个可能的解决方案是设置一个处理程序。 获取notifyItemRemoved()和notifyItemChanged()的Animation类源码。方法内部应该是以下几行:
animation.setDuration(getRemoveDuration())
.alpha(0).setListener(new VpaListenerAdapter() {
@Override
public void onAnimationStart(View view) {
dispatchRemoveStarting(holder);
}
在 animateRemoveImpl() 方法内部。
转到声明
getRemoveDuration()
并获取值。 在具有 getRemoveDuration() 和 notifyItemChange() 的 postDelay 的处理程序内部设置。 处理程序可能看起来像:
handler.postDelayed(notifyItemChanged, theDurationValue); }
关于Android - RecyclerView 动画 notifyItemChanged 在 notifyItemRemoved 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615478/