I kaydırma zaman bir tek görsel aksaklık sahip bir liste görünümü vardırliste görünümü kaydırma UI aksaklık
Bu aralıklı olur ve yok Bunu, uygulamayı kapatıp listeyi kaydırmaya başlamak dışında yeniden üretmenin iyi bir yolu. Neler olduğu hakkında bir fikrin var mı?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// If we weren't given a view, inflate one
ViewHolder holder;
if (convertView == null) {
convertView = ((Activity) context).getLayoutInflater().inflate(R.layout.event,
parent, false);
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.eventName);
holder.date = (TextView) convertView.findViewById(R.id.eventDate);
holder.attending = (TextView) convertView.findViewById(R.id.eventAttending);
holder.bgImg = (ImageView) convertView.findViewById(R.id.eventsImg);
holder.gpsIcon = (ImageView) convertView.findViewById(R.id.iconGPS);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// Configure the view for this event
final Event event = getItem(position);
holder.gpsIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Util.openMap(getContext(), event.getAddress());
}
});
holder.name.setText(event.getName());
holder.date.setText(Util.convertDashesToDate(event.getDate()));
holder.attending.setText(event.getAttending());
RequestUtil.getImageFullUrl(getContext(), event.getImage_url(), holder.bgImg, 10, 0);
return convertView;
}
@Override
public Event getItem(int position) {
return new Event(events.get(position));
}
static class ViewHolder {
TextView name;
TextView date;
TextView attending;
ImageView bgImg;
ImageView gpsIcon;
}
görüntüyü almak için
Picasso kodu: Burada
Bu liste görünümü için kullanmak benim arrayAdapter bazı (belki) İlgili koddurpublic static void getImageFullUrl(final Context context, String url, ImageView imgView, int radius, int margin) {
instance = appSingleton.getInstance(context);
instance.getPicasso()
.load(url)
.fit()
.centerCrop()
.tag("Request")
.transform(new RoundedTransformation((int) Util.convertPixelsToDp(radius, context),
(int) Util.convertPixelsToDp(margin, context))) // TODO Reuse RoundedTransform
.into(imgView);
}
getter, nesne oluşturmamalıdır. – Blackbelt
Neden? Bu bir bellek sızıntısını önler. – Jonfor