Android-android中listview复用问题

Android-android中listview复用问题

想挽留 发布于 2016-11-29 字数 1157 浏览 1125 回复 2

代码如下:

public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = new ViewHolder();
if (convertView == null) {
convertView = getLayoutInflater(null).inflate(R.layout.list_item_layout, null);
holder.Icon = (ImageView) convertView.findViewById(R.id.icon);
holder.describtion = (TextView) convertView.findViewById(R.id.app_describtion);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.Icon.setImageDrawable(image);
switch(type){
case 0:
holder.describtion.setText("aaaaaaa");
holder.describtion.setTextColor(0xff00ffff);
break;
case 1:
holder.describtion.setText("bbbbbb");
break;
case 2:
holder.describtion.setText("ccccccc");
break;
}
return convertView;
}

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-10-13 2 楼

最简单直观的方法应该是在case 1,2里面也去设置default的颜色,这样就可以了,虽然有点笨

虐人心 2017-09-24 1 楼

正常情况下,listview保存的item就是你可以见到的item个数+1,当展示新的item的时候,系统会复用以前的数据。如果不初始化,会看到每隔几条就会出现一样的重复。

这个问题的就要求我们在使用的时候一定要初始化item。无论这个item以前是否初始化过。