您的位置:首页 > 移动开发 > Android开发

android listview 错位

2015-12-05 09:04 429 查看
ListView数据错位一般是重用且有异步加载数据才出现。然后,本人还遇到另一种情况——一些item有图,一些没有图,在刷新时也出现了错位。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
holder = new ViewHolder();
convertView = mLayoutInflater.inflate(R.layout.text_image_item, parent, false);
holder.imageView = (ImageView) convertView.findViewById(R.id.image);
holder.textView = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

final MenuInfo item = getItem(position);
if (item.getImage() != null){
holder.imageView.setImageResource(item.getImage());
}
holder.textView.setText(item.getText());

return convertView;
}
上述代码在运行后,刷新就会出现错位。

解决办法,在没有图的item应该也设置一张默认的图,哪怕是透明的。当然,

holder.imageView.setImageResource(-1);


也是可以的。

异步的情况可以参考
http://www.cnblogs.com/lesliefang/p/3619223.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: