在回收视图中,有时会显示重复的图像。是什么原因显示重复的图像。不是有时它的出现
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
答案 0 :(得分:0)
适配器具有回调onViewRecycled(ViewHolder holder)
,您可以使用它来停止加载图像,和/或清除已加载图像的缓存。您必须检查图像加载库的工作方式以及如何操作