调用notifyitemchanged后动画问题

Pri*_*one 5 android android-animation android-glide

我有一个使用GlideImageView加载图像的图像。当我执行类似操作后,使用 通知回收器视图适配器。它会导致图像闪烁 2 次。有人能帮我一下吗。notifyItemChanged(position)

这部分代码在notifyItemChanged(position)调用时执行:

    Glide.with(mContext)
    .load(mainImage)
    .placeholder(R.color.grey_light)
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(listItemHolder.mSingleAttachmentImage);
Run Code Online (Sandbox Code Playgroud)

提前致谢。

dan*_*ata 1

我认为图像的闪烁是由 引起ItemAnimatorRecylerView。我遇到了同样的问题,我通过添加默认动画器并告诉回收器视图重用动画的视图持有者来解决它。像这样的东西:

theRecyclerView.setItemAnimator(new DefaultItemAnimator() {
        @Override
        public boolean canReuseUpdatedViewHolder(@NonNull RecyclerView.ViewHolder viewHolder) {
            return true;
        }

        @Override
        public boolean canReuseUpdatedViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, @NonNull List<Object> payloads) {
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

这样,RecyclerView 就可以使用同一个 ViewHolder,并且在调用 notificationItemChange 时不会创建另一个 ViewHolder。