listview中复用选择的bug

问题描述:在复用convertview时,若listview的item有选择项,滑动后会出现选项错乱。

解决:在getview方法中,使用SparseArray存储对应位置的convertview,防止复用错乱。

代码:

private SparseArray views=newSparseArray<>();

getview方法中:

if(views.get(position) ==null) {

convertView = LayoutInflater.from(context).inflate(R.layout.item_no_city, null);

viewHolder =newViewHolder(convertView);

convertView.setTag(viewHolder);

views.put(position,convertView);

}else{

convertView =views.get(position);

viewHolder = (ViewHolder) convertView.getTag();

}

你可能感兴趣的:(listview中复用选择的bug)