listView的监听接收,进来看看吧 listviewcheckbox 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人认为:Adapter只负责选中项目Item。每次点击完成后,在点击事件中从listView中获取选中的项目进行业务逻辑处理(计算总价),然后通过Handler发送消息给显示总价的Activity。不知是否可行? 加interface吧,adapter的setOnClickListener调用,fragment里面实现 //adapter interface SumCallBack{ public void setSum(float sum); } private SumCallBack sumCallBack; public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart); this.sumCallBack = sumCallBack; } //fragment mAdapter = new ShopCartListAdapter(getActivity(), mPresenter.getShopCart(getUserId()),new SumCallBack(){ ........ }); 又改了下,可能括号有问题 //adapter interface SumCallBack{ public void setSum(float sum); } private SumCallBack sumCallBack; public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart); this.sumCallBack = sumCallBack; } holder.cbCheck.setOnClickListener(new OnClickListener() { @Override public void setSum(float sum) { sumText.setText(sum+""); } }); //fragment mAdapter = new ShopCartListAdapter(getActivity(), mPresenter.getShopCart(getUserId()),new SumCallBack(){ @Override public void onClick(View v) { ....... sumCallBack.setSum(sum); } }); 粘贴错了....看这里 //adapter interface SumCallBack{ public void setSum(float sum); } private SumCallBack sumCallBack; public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart); this.sumCallBack = sumCallBack; } holder.cbCheck.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ ........ sumCallBack.setSum(sum); } }); //fragment mAdapter = new ShopCartListAdapter(getActivity(), mPresenter.getShopCart(getUserId()),new SumCallBack(){ @Override public void setSum(float sum) { sumText.setText(sum+""); } }); 看着有点复杂,个人认为:Adapter只负责记录哪个选中,哪个没选中,价格多少等数据信息。每次点击之后更改adapter的数据信息,然后查询adapter 的数据进行业务逻辑处理(计算总价),设置要显示总价数据的View。 你可以这样做,首先用一个map来保存选中项的位置以及对应的数量,键保存每一项position,值保存这一项选了多少数量,每次增加减少对这个map操作,并回调通知activity重新计算总价显示 有两种:1、可以用回调的方式,通过点击事件来判断是否选中,然后来加减TotalPrice。 2、adapter在new实例的时候,会传个context,通过context可以在adapter中的chBox点击事件里面把这一行的商品price设置到你的activity中。通过(MainActivity)context).你定义的方法。可以加上这个商品的价格,也可以减去这个商品的价格。 谷歌地图api如何注册 eclipse求教一个问题!!!! LinearLayout设置background属性,点击时改变背景问题 android LCD移植问题 AlertDialog.Builder 请问用registerReceiver注册的BroadcastReceiver的有效期是怎样的? 如何实现数据处理和图片动态移动的同步 preference布局关于ListView的显示 android 4.0下设置静态ip 关于图像识别-Tesseract-OCR Android系统的实时性怎么样? 请问关于相对布局的问题
Adapter只负责选中项目Item。每次点击完成后,在点击事件中从listView中获取选中的项目进行业务逻辑处理(计算总价),然后通过Handler发送消息给显示总价的Activity。不知是否可行?
//adapter
interface SumCallBack{
public void setSum(float sum);
}
private SumCallBack sumCallBack;
public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart);
this.sumCallBack = sumCallBack;
}
//fragment
mAdapter = new ShopCartListAdapter(getActivity(),
mPresenter.getShopCart(getUserId()),new SumCallBack(){
........
});
//adapter
interface SumCallBack{
public void setSum(float sum);
}
private SumCallBack sumCallBack;
public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart);
this.sumCallBack = sumCallBack;
}
holder.cbCheck.setOnClickListener(new OnClickListener() { @Override
public void setSum(float sum) {
sumText.setText(sum+"");
}
});
//fragment
mAdapter = new ShopCartListAdapter(getActivity(),
mPresenter.getShopCart(getUserId()),new SumCallBack(){
@Override
public void onClick(View v) {
.......
sumCallBack.setSum(sum); }
});
//adapter
interface SumCallBack{
public void setSum(float sum);
}
private SumCallBack sumCallBack;
public ShopCartListAdapter(Context context, List<ShopCart> shopCart,SumCallBack sumCallBack) { super(context, shopCart);
this.sumCallBack = sumCallBack;
}
holder.cbCheck.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v){
........
sumCallBack.setSum(sum);
}
});
//fragment
mAdapter = new ShopCartListAdapter(getActivity(),
mPresenter.getShopCart(getUserId()),new SumCallBack(){
@Override
public void setSum(float sum) {
sumText.setText(sum+"");
}
});
Adapter只负责记录哪个选中,哪个没选中,价格多少等数据信息。
每次点击之后更改adapter的数据信息,然后查询adapter 的数据进行业务逻辑处理(计算总价),设置要显示总价数据的View。
2、adapter在new实例的时候,会传个context,通过context可以在adapter中的chBox点击事件里面把这一行的商品price设置到你的activity中。通过(MainActivity)context).你定义的方法。可以加上这个商品的价格,也可以减去这个商品的价格。