I've this code snipped. Its a horizontal list view. Problem is that same images are being loaded instead of different ones. What can be the issue? I don't think picasso is the issue over here. I guess its something else.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
// View timeLineRow = LayoutInflater.from(parent.getContext()).inflate(R.layout.dashboardtimelinerow, null);
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.toprecommendationsitem, parent, false);
holder = new ViewHolder();
holder.recommimage = (ImageView) convertView.findViewById(R.id.recommimage);
holder.userImage = (CircularImageView) convertView.findViewById(R.id.userImage);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
int i=0;
for(i=0; i<mArrayListData.size(); i++) {
if (!mArrayListData.get(i).getDishimageurl().isEmpty()) {
Picasso.with(mContext)
.load(mArrayListData.get(i).getDishimageurl())
.resize(172, 172)
.into(holder.recommimage);
break;
}
}
return convertView;
}
You aren't using the value of position
anywhere inside your getView
function. getView
is supposed to return the view for whichever piece of data lies at index position
in the array or list you passed in. You'll want to replace your code with something like
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.toprecommendationsitem, parent, false);
holder = new ViewHolder();
holder.recommimage = (ImageView) convertView.findViewById(R.id.recommimage);
holder.userImage = (CircularImageView) convertView.findViewById(R.id.userImage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if (!mArrayListData.get(position).getDishimageurl().isEmpty()) {
Picasso.with(mContext)
.load(mArrayListData.get(position).getDishimageurl())
.resize(172, 172)
.into(holder.recommimage);
}
return convertView;
}