Android - RecyclerView 动画 notifyItemChanged 在 notifyItemRemoved 之后

标签 android android-animation android-recyclerview

我的 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/

相关文章:

Android 不播放视频 .mp4

android - java.lang.NoSuchMethodError : No static method getDrawable(Landroid/content/Context;I)

android - fragment 在移除和动画结束后闪烁

android - RecyclerView 中的自定义列表项监听器界面不响应点击

android - Iphone 源代码可用于开发相同的 android 应用程序吗?

android - textView 上的 setAnimation 无效

android - 动画如何隐藏ActionBar和保持标签?

java - 如何在Android中使用Retrofit在recyclerView中设置数据

android - 如何将 recyclerview 重置为原始状态(EMPTY)?

android - 移动广告服务 : Choosing specific ads