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;
}
这样才能获取到最后一个元素,并对其设置样式。