UI展示效果图 点击底部checkbox时 可以全选listview上所有item的checkbox 亦可以更新数据 同时点击item上的checkbox时可以更新底部UI数据
由于代码保密性 只能展示这部分功能 还请各位攻城狮谅解
Adapter代码展示
public class ShopCarAdapter extends AbsBaseAdapter<ProSendBean> {
private CartFragment mCartFragment;
private List<ProSendBean> mData;
private CallBack mcallBack;
boolean ischecked=false;
/**
* 接收AbsListView要显示的数据
*
* @param data 要显示的数据
*/
public ShopCarAdapter(List<ProSendBean> data) {
super(data);
}
public ShopCarAdapter(CartFragment cartFragment, List<ProSendBean> data, CallBack callback) {
super(data);
mCartFragment = cartFragment;
mData = data;
mcallBack=callback;
//底部checkbox监听回调方法
mCartFragment.setCheckBack(new CartFragment.CheckBack() {
@Override
public void changeChecked(boolean checked) {
ischecked=checked;
ShopCarAdapter.this.notifyDataSetChanged();
}
});
}
@Override
protected BaseHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(parent.getContext(), R.layout.item_pro, null);
ALog.i("kkkfffk");
return new MyHolder(view);
}
public class MyHolder extends BaseHolder<ProSendBean> {
@Bind(R.id.check)
CheckBox check;
@Bind(R.id.pic)
ImageView pic;
@Bind(R.id.proName)
TextView proName;
@Bind(R.id.size)
TextView size;
@Bind(R.id.color)
TextView color;
@Bind(R.id.edit)
TextView edit;
@Bind(R.id.jiage)
TextView jiage;
@Bind(R.id.xiaoji)
TextView xiaoji;
@Bind(R.id.shopcar_num)
TextView shopcarNum;
public MyHolder(View view) {
super(context);
}
@Override
protected View initView() {
View view = View.inflate(context, R.layout.item_pro, null);
ButterKnife.bind(this, view);
return view;
}
boolean checked;
@Override
public void bindData(ProSendBean data, int position) {
checked=false;
checked=ischecked;
check.setChecked(checked);
proNa