I used SimpleDraweeView
in ListView
Item. If the header url is not null, it will display the image from the network, or it will display the default image from local drawable.
The code is as follow:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.info_contact_item,null);
holder.ivHeader = findViewById(convertView, R.id.iv_header);
holder.setTag(holder);
} else {
holder = (BaseViewHolder) convertView.getTag();
}
final String url = data.get(position).get("headerUrl");
if (StringUtil.isNull(url)){
holder .ivHeader.setBackgroundResource(R.drawable.default_head_icon);
}else{
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(uri))
.setAutoRotateEnabled(true)
.setLocalThumbnailPreviewsEnabled(true) //
.setProgressiveRenderingEnabled(true) //
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(imageRequest)
.setOldController(simpleDraweeView.getController())
.setAutoPlayAnimations(true)
.build();
holder.ivHeader.setController(controller);
}
return convertView;
}
When I scroll ListView
to the end, the SimpleDraweeView
displays the same image as the last screen image data. Anybody has the same problem?