ViewHolder与ListView的小BUG

谢镇信 发布于 2015/03/30 16:59
阅读 509
收藏 0
class NewsAdapter extends BaseAdapter{


ViewHolder holder;


@Override
public int getCount() {
return list.size();
}


@Override
public Object getItem(int arg0) {
return list.get(arg0);
}


@Override
public long getItemId(int arg0) {
return arg0;
}


@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
if(arg1==null){
arg1 = LayoutInflater.from(getActivity()).inflate(R.layout.item_news_list, null);
holder = new ViewHolder();
holder.content = (TextView) arg1.findViewById(R.id.item_news_content);
holder.title = (TextView) arg1.findViewById(R.id.item_news_title);
holder.time = (TextView) arg1.findViewById(R.id.item_news_time);
holder.image = (ImageView) arg1.findViewById(R.id.item_news_image);
arg1.setTag(holder);
}else {
holder = (ViewHolder) arg1.getTag();
}


News news = list.get(arg0);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.gravity = Gravity.CENTER_VERTICAL; 
BmobFile image = news.getImage();
if(image==null){
lp.setMargins(0,0,0,0);
holder.image.setLayoutParams(lp);
}else{
image.loadImage(getActivity(), holder.image, 150, 150);//加载图片
lp.setMargins(10,10,0,10);
holder.image.setLayoutParams(lp);
}
holder.content.setText(news.getContent());
holder.title.setText(news.getTitle());
holder.time.setText(news.getCreatedAt());
return arg1;
}


class ViewHolder{
TextView title;
TextView content;
TextView time;
ImageView image;
}

}


往下拉  加载一个有图片的item


再往上拉   就在  231231  这个item里出现了一张图片  这个item里是没有图片的  但是却出现了


哪位大神可以告诉我  这个BUG是怎么出现的 ?  怎么解决?

另外这个listView 是嵌套在Fragment里面的  是不是 因为这个原因?

如果觉得我没表述清楚 可以留下QQ或其他联系方式  谢谢啦

加载中
0
亓斌哥哥
亓斌哥哥
理解一下convertView 你就知道了
谢镇信
谢镇信
搞定了 谢谢啦
返回顶部
顶部