我的上篇文章里面实现了ListView的多选:http://blog.csdn.net/u013792369/article/details/48311459
这上面文章里的这个方法里改成这个样子就可以了。也就是ListView里的item点击事件里改就可以了。
private int prePos=-1;
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
ViewHolder viewHolder = (ViewHolder)view.getTag();
if(prePos == -1) //什么都没选的时候是 -1
{
viewHolder.cb.setChecked(true);
mList.get(position).setIsChecked(true);
prePos = position;
}
else
{
if(prePos != position) //点击的不是同一个
{
mList.get(prePos).setIsChecked(false);
mList.get(position).setIsChecked(true);
prePos = position;
adapter.notifyDataSetChanged();
}
else //两次点击同一个,
{
viewHolder.cb.setChecked(false);
mList.get(position).setIsChecked(false);
prePos = -1;
}
}
}
});
}