Adapter动态加载问题

来源:互联网 发布:淘宝网推荐浏览器 编辑:程序博客网 时间:2024/06/04 18:46
if(convertView==null){if(type==0){convertView=mLayoutInflater.inflate(R.layout.storage_service_title,parent,false);addStorageTitle=new AddStorageHolder(convertView);addStorageTitle.addIcon=(ImageView)convertView.findViewById(R.id.storage_add_icon);addStorageTitle.addStorage=(TextView)convertView.findViewById(R.id.addStorage);}else{                if(mStorageList.size()>=1) {                    storageItem = mStorageList.get(mStorageList.size() - 1);//获取到刚添加的那个元素                    convertView = mLayoutInflater.inflate(R.layout.storage_service_detail, parent, false);                    addStorageTitle = new AddStorageHolder(convertView);                    addStorageTitle.bindData(storageItem);                }}}

这是我修改后的代码,之前的代码一直有个问题,就是反复出现上一个元素的样式。

其实不是,是因为只要我改变了哪怕一个图片就是一个不同的样式,我所要做的是为每一个网盘提供一个样式类型:


if(convertView==null){switch(type){                case 0:                    convertView=mLayoutInflater.inflate(R.layout.storage_service_title,parent,false);                    addStorageTitle=new AddStorageHolder(convertView);                    addStorageTitle.addIcon=(ImageView)convertView.findViewById(R.id.storage_add_icon);                    convertView.setTag(R.layout.storage_service_title,addStorageTitle);                    addStorageTitle.addStorage=(TextView)convertView.findViewById(R.id.addStorage);                    break;                case 1:                    storageItem = mStorageList.get(position-1);                    convertView = mLayoutInflater.inflate(R.layout.storage_service_detail, parent, false);                    addStorageTitle = new AddStorageHolder(convertView);                    convertView.setTag(R.layout.storage_service_detail,addStorageTitle);                    addStorageTitle.bindData(storageItem);                    break;                case 2:                    storageItem = mStorageList.get(position-1);                    convertView = mLayoutInflater.inflate(R.layout.storage_service_detail, parent, false);                    addStorageTitle = new AddStorageHolder(convertView);                    convertView.setTag(R.layout.storage_service_detail,addStorageTitle);                    addStorageTitle.bindData(storageItem);                    break;                case 3:                    storageItem = mStorageList.get(position-1);                    convertView = mLayoutInflater.inflate(R.layout.storage_service_detail, parent, false);                    addStorageTitle = new AddStorageHolder(convertView);                    convertView.setTag(R.layout.storage_service_detail,addStorageTitle);                    addStorageTitle.bindData(storageItem);                    break;}


这样才能获取到最后一个元素,并对其设置样式。

0 0