Image Shuffles In List View. When Scrolling
What happens is that when scrolling the list, the images that were loaded on each item are shuffled, and the avatar of each item going to the next item ends. I do not know if I'm b
Solution 1:
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
publicclassCustomListAdapterextendsBaseAdapter {
private ArrayList listData;
private LayoutInflater layoutInflater;
publicCustomListAdapter(Context context, ArrayList listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(context);
}
@OverridepublicintgetCount() {
return listData.size();
}
@Overridepublic Object getItem(int position) {
return listData.get(position);
}
@OverridepubliclonggetItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.list_row_layout, null);
holder = newViewHolder();
holder.headlineView = (TextView) convertView.findViewById(R.id.title);
holder.reporterNameView = (TextView) convertView.findViewById(R.id.reporter);
holder.reportedDateView = (TextView) convertView.findViewById(R.id.date);
holder.imageView = (ImageView) convertView.findViewById(R.id.thumbImage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
NewsItemnewsItem= (NewsItem) listData.get(position);
holder.headlineView.setText(newsItem.getHeadline());
holder.reporterNameView.setText("By, " + newsItem.getReporterName());
holder.reportedDateView.setText(newsItem.getDate());
Drawableplaceholder= holder.imageView.getContext().getResources().getDrawable(R.drawable.placeholder;
holder.imageView.setImageDrawable(placeholder);
newImageDownloaderTask(holder.imageView).execute(newsItem.getUrl());
return convertView;
}
staticclassViewHolder {
TextView headlineView;
TextView reporterNameView;
TextView reportedDateView;
ImageView imageView;
}
Solution 2:
try this. change your getView Like this.
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
view=convertView;
if (convertView == null) {
view = layoutInflater.inflate(R.layout.list_row_layout, null);
holder = new ViewHolder();
holder.headlineView = (TextView) view.findViewById(R.id.title);
holder.reporterNameView = (TextView) view.findViewById(R.id.reporter);
holder.reportedDateView = (TextView) view.findViewById(R.id.date);
holder.imageView = (ImageView) view.findViewById(R.id.thumbImage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
NewsItem newsItem = (NewsItem) listData.get(position);
holder.headlineView.setText(newsItem.getHeadline());
holder.reporterNameView.setText("By, " + newsItem.getReporterName());
holder.reportedDateView.setText(newsItem.getDate());
if (holder.imageView != null) {
new ImageDownloaderTask(holder.imageView).execute(newsItem.getUrl());
}
return view;
}
and declare View view as a class level variable hope it helps thanks. Refer Here https://androidruler.wordpress.com/2016/02/21/android-custom-listview-example/
Post a Comment for "Image Shuffles In List View. When Scrolling"