i put one spinner in my activity and in that i put one textview and imageview.when i scrolling at that time some images not display.most probably last some images not shown.for clear scenario check below image
SpinnerAdapterRecharge.java
public class SpinnerAdapterRecharge extends ArrayAdapter<listview_data> {
private Activity context;
listview_data data[] = null;
int layoutResourceId;
ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions options;
public SpinnerAdapterRecharge(Activity context, int resource,listview_data[] data)
{
super(context, resource, data);
this.context = context;
this.data = data;
this.layoutResourceId = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
options = new DisplayImageOptions.Builder().cacheInMemory(true)
.cacheOnDisc(true)
.cacheInMemory(true)
.considerExifParams(true)
.resetViewBeforeLoading(true)
.showImageForEmptyUri(R.drawable.imagenotavailable)
.showImageOnFail(R.drawable.imagenotavailable)
.showImageOnLoading(R.drawable.imagenotavailable).build();
return getCustomView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent)
{ // This view starts when we click the spinner.
return getCustomView(position, convertView, parent);
}
public View getCustomView(int position, View convertView, ViewGroup parent) {
View row = convertView;
listHolder holder = null;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new listHolder();
holder.imgIcon = (ImageView)row.findViewById(R.id.spinnerimageIcon);
holder.txtTitle = (TextView)row.findViewById(R.id.spinnerOperator);
row.setTag(holder);
}
else
{
holder = (listHolder)row.getTag();
}
listview_data item = data[position];
if(position == 0)
{
holder.imgIcon.setVisibility(View.GONE);
holder.txtTitle.setText(context.getResources().getString(R.string.lbl_operator));
}
else {
holder.txtTitle.setText(item.title);
//holder.imgIcon.setImageResource(item.icon);
//if (holder.imgIcon.getTag() == null || !holder.imgIcon.getTag().equals(item.icon)) {
ImageAware imageAware = new ImageViewAware(holder.imgIcon, false);
imageLoader.displayImage("drawable://"+item.icon,imageAware,options);
//}
}
return row;
}
static class listHolder
{
ImageView imgIcon;
TextView txtTitle;
}
}