Android-android中listview复用问题

发布于 2016-11-29 06:49:14 字数 1152 浏览 1208 评论 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;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(2

泛泛之交 2017-10-13 07:22:26

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

虐人心 2017-09-24 14:43:40

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文