Android-android中listview复用问题
代码如下:
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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单直观的方法应该是在case 1,2里面也去设置default的颜色,这样就可以了,虽然有点笨
正常情况下,listview保存的item就是你可以见到的item个数+1,当展示新的item的时候,系统会复用以前的数据。如果不初始化,会看到每隔几条就会出现一样的重复。
这个问题的就要求我们在使用的时候一定要初始化item。无论这个item以前是否初始化过。