在android中的循环视图中显示重复的图像

时间:2017-04-24 11:12:07

标签: android android-recyclerview recycler-adapter

在回收视图中,有时会显示重复的图像。是什么原因显示重复的图像。不是有时它的出现

public void onBindViewHolder(ViewHolder holder, int position) {
        holder.tvSubject.setText(chatSessions.get(position).getName());
        holder.tvMessage.setText(chatSessions.get(position).getLastUnreadMsg());
        holder.tvTime.setText(chatSessions.get(position).getTime());

        final String pictureLink = ServerRequestHandler.getPictureLink(chatSessions.get(position).getCsToken());

        Log.d("ChatListAdapter", position + ", pictureLink= " + pictureLink);
        Log.d("ChatListAdapter", chatSessions.get(position).getName() + ", Time= " + chatSessions.get(position).getTime());

        holder.profileLoadingView.setVisibility(View.GONE);
        holder.profilePicture.setVisibility(View.VISIBLE);
        holder.profilePicture.setImageDrawable(null);

        if (TaskUtils.isNotEmpty(pictureLink)) {

            imageLoader.displayImage((MainPageActivity) context, pictureLink, holder.profilePicture, holder.profileLoadingView);
        } else {
//            imageLoader.displayImage(null, holder.profilePicture, holder.profileLoadingView);

//            holder.profilePicture.setImageDrawable(context.getResources().getDrawable(R.drawable.photo));


            holder.profilePicture.setImageDrawable(null);
        }

我添加了屏幕截图 enter image description here

1 个答案:

答案 0 :(得分:0)

适配器具有回调onViewRecycled(ViewHolder holder),您可以使用它来停止加载图像,和/或清除已加载图像的缓存。您必须检查图像加载库的工作方式以及如何操作