android - 动态高度 Glide ImageView inside RecyclerView 在调用 notifydatasetchanged 时闪烁?

标签 android android-recyclerview android-glide notifydatasetchanged linearlayoutmanager

我正在创建一个 RecyclerView 来显示一些图像和文本,然后用户可以为 RecyclerView 的行添加书签。 RecyclerView 的图像在宽度上与父级匹配,高度将是 wrap_content。单击书签时,适配器调用 RecyclerView 中的 notifydatasetchanged。我的问题是,在调用 notifydatasetchanged 更改后,RecyclerView 按高度闪烁其图像。

        @Override
        public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
            if (holder instanceof VHITEM) {
                final VHITEM VHitem = (VHITEM) holder;
                Glide.with(mContext)
                        .load(articleDataList.get(position).SourcePath)
                        .asBitmap()
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .placeholder(R.drawable.defaultimage)
                        .error(R.drawable.defaultimage)
                        .dontAnimate()
                        .into(VHitem.imageViewTagPic); 
            }
        }

OnButton 点击​​

    VHItem.imageViewAddRemoveBookmark.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
    notifyDataSetChanged(); }
    }

RecyclerView 配置

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(linearLayoutManager);

最佳答案

尝试在 RecyclerView 上使用它来限制 View 的闪烁。

RecyclerView.ItemAnimator animator = mRecycler.getItemAnimator();

if (animator instanceof SimpleItemAnimator) {
    ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}

关于android - 动态高度 Glide ImageView inside RecyclerView 在调用 notifydatasetchanged 时闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42593313/

相关文章:

android - 当应用程序被杀死时,Glide Cache 不会持续存在

java - 我需要将多个图像下载到目录,以便可以离线访问内容

android - 如何从android URI获取绝对音频路径

Android - 如何使用 RecyclerView.ViewHolder 将 View 添加到 LinearLayout

android - 我可以使用 Glide 来缓存图像而不显示它们吗

android - RecyclerView 项目失去焦点

Android:无法解析方法 'findFirstVisibleItemPosition()'?

android - 在Android上的HTML中嵌入youtube视频只有声音,没有视频

android - 在 Kotlin 中使用星投影作为父类(super class)型

java - 查找给定类的所有子类 (Android)