1、自定义listView的布局,在布局中实现一个checkbox
<CheckBox android:id="@+id/SaleInformDet_list_item_Cb" android:layout_width="40dp" android:layout_height="match_parent" />2、实现适配器
在适配器中实现一个接口,供外部调用,将选中的item的pisition传递给调用者
public interface onItemSelectListener { void onSelectClick(int i); } private onItemSelectListener mOnItemSelectListener; public void setOnItemSelectClickListener(onItemSelectListener mOnItemSelectListener) { this.mOnItemSelectListener = mOnItemSelectListener; }在getView中实现checkbox的事件监听
holder.Cb_select.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mOnItemSelectListener.onSelectClick(position); } });
3、在activity中调用
以内部类的形式实现自己定义的接口,完成自己的操作
saleInformDetAdapter.setOnItemSelectClickListener(new SaleInformSetAdapter.onItemSelectListener() { @Override public void onSelectClick(int i) { if(isSelect.contains(i)){ isSelect.remove(i); }else{ isSelect.add(i); } } });
4、注:如何霍如内部类中的变量值
定义一个类变量或实例变量可以获取内部类中的变量,方法变量不可以