android 购物车全选、反选、结算功能问题

凤老三 2015-07-28 01:01:47
现功能如下:ListView 嵌套ListVIew 中,第一个ListView 内容项为 卖家信息,包含卖家名称和CheckBox 其作用可以点击卖家进入卖家中心,点击CheckBox 则卖家的商品全部选中,在当前卖家页面中的ListVIew 其内容为 当前卖家的商品信息.包含商品信息和CheckBox 当前卖家下的所有商品都选中,则父选框都选中,有一个未选中则父选框不选中.
效果图:

代码先思路:在卖家数据集合中 定义 boole
1.卖家模型层
	
//卖家ID
private int fShopID;

//卖家名称
private String fShopName;

//整个卖家选中
private boolean isShopCheck;

2.给卖家适配器 复制 和 结算的全选
this.cartList=cartList;
cartAdapter = new CartAdapter(this,cartList,handler);
cartListView.setAdapter(cartAdapter);
结算全选
chk_Cart_allCheck=(CheckBox) findViewById(R.id.chk_Cart_allCheck);
chk_Cart_allCheck.setOnCheckedChangeListener(new OnCheckedChangeListener()
{

@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked)
{
// TODO 自动生成的方法存根
for (CartModel li : cartList)
{
if (isChecked) // 如果选中 则所有卖家为ture
{
li.getShop().setIsShopCheck(true);
} else
{ // 未选中则所有的为false
li.getShop().setIsShopCheck(false);
}
}
cartAdapter.notifyDataSetChanged();
}
});
3. 卖家适配器Adapter 中GetVIew
@Override
public View getView( int position, View convertView, ViewGroup parent)
{
// TODO 自动生成的方法存根
convertView = mInflater.inflate(R.layout.cart_list, null);
TextView tv_shopName=(TextView)convertView.findViewById(R.id.tv_cart_list_ShopName);
tv_shopName.setText(CartList.get(position).getShop().getfShopName());


CheckBox chk_Cart_list_AllCheckBox=(CheckBox) convertView.findViewById(R.id.chk_Cart_list_AllCheckBox);
chk_Cart_list_AllCheckBox.setTag(CartList.get(position).getShop().getfShopID());
final int fCurrentIndex=position;
if(CartList.get(position).getShop().getIsShopCheck())
{
chk_Cart_list_AllCheckBox.setChecked(true);
}
//根据购物车的卖家ID 显示卖家的商品信息
MyListView lv_Cart_List_Product=(MyListView)convertView.findViewById(R.id.lv_Cart_List_Product);
CheckBox chk_Cart_list_AllCheckBox=(CheckBox) convertView.findViewById(R.id.chk_Cart_list_AllCheckBox);
chk_Cart_list_AllCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
// TODO 自动生成的方法存根
for (int i = 0; i < CartList.get(fCurrentIndex).getCartProductList().size(); i++)
{
if(isChecked)
{
CartList.get(fCurrentIndex).getCartProductList().get(i).setIsCheck(true);
}else {
CartList.get(fCurrentIndex).getCartProductList().get(i).setIsCheck(false);
}

}

cartProductAdapter.notifyDataSetChanged();
}
});

cartProductAdapter=new CartProductAdapter(context, CartList.get(fCurrentIndex).getCartProductList(),mHandler);
lv_Cart_List_Product.setAdapter(cartProductAdapter);

return convertView;


5.商品明细适配器 中的Getview
viewHolder.txtTextViewName.setText(CartProductlist.get(position).getfItemName());
viewHolder.txtTextViewPrice.setText(" ¥ "+CartProductlist.get(position).getfSalePrice());
viewHolder.editTextQty.setText(CartProductlist.get(position).getfQty()+"");
viewHolder.checkBoxIsCheck.setTag(CartProductlist.get(position).getfItemID());

if(CartProductlist.get(position).getIsCheck())
{
viewHolder.checkBoxIsCheck.setChecked(true);
}else {
viewHolder.checkBoxIsCheck.setChecked(false);
}
现已经实现了 点击结算的全选,所有的卖家CheckBox 都能全选,全不选,但是在 点击卖家的CHeckBox 操作当前卖家下的商品明细全选 反选 不起作用.请做过的给思路或者给解决办法,包括后面的 全选 ,卖家全选,单选卖家改为不全选。计算价格的改变
...全文
7146 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34704314 2016-12-30
  • 打赏
  • 举报
回复
楼主求发下源码2707541342@qq.com
leeho719 2016-11-02
  • 打赏
  • 举报
回复
楼主 我也想要源码 704940769@qq.com
leeho719 2016-11-02
  • 打赏
  • 举报
回复
楼主 我也想要源码 70490769@qq.com
qq_36568188 2016-10-31
  • 打赏
  • 举报
回复
楼主 我也想要源码 给个dome吧 1478197871@qq.com
amst 2016-09-22
  • 打赏
  • 举报
回复
楼主,求demol 824527157@qq.com
会有那一天 2016-09-01
  • 打赏
  • 举报
回复
我们是用RecycleView实现这个功能的但是思路是一样的 1 a、给每一个集合的对象添加一个布尔属性,当标记为tru设置为adapter中的item为选中,反之未选中(getView中设置) b、 全选:在item点击事件中遍历集合中的每一个元素,将数据中的标记设置为true,并通过adapter刷新ui, c、 反选:获取到当前item的bean对象,再遍历集合将其他数据改为当前相反 以上是单个商家中的操作 整个购物车操作:将当前购物车中所有商家的数据设置为全选和反选,和上面是一样的 我的数据情况 商家数据: List<商品> 购物车数据: List<商家> 2另外一种方式是通过监听当前的item是否被选中,并属于哪一个区域。
xiaoyu8080880 2016-08-31
  • 打赏
  • 举报
回复
281575998@qq.com楼主发一份呗
rosener 2016-06-21
  • 打赏
  • 举报
回复
楼主,求demol 18829017955163.com
TheMostBeautiful 2016-06-21
  • 打赏
  • 举报
回复
楼主最后是怎么实现的,求指导
-天宇 2016-05-06
  • 打赏
  • 举报
回复
这逻辑很难么……
liweiying11 2016-05-06
  • 打赏
  • 举报
回复
这种demo一搜一大把
qq_33823768 2016-04-30
  • 打赏
  • 举报
回复
可以给我源码看看吗 1355857303@qq.com
jhdxhj 2016-04-08
  • 打赏
  • 举报
回复
楼主能发下demo吗谢谢,295074478@qq.com
sinat_34576717 2016-04-07
  • 打赏
  • 举报
回复
楼主能发下demo吗,谢谢
sinat_34576717 2016-04-07
  • 打赏
  • 举报
回复
楼主能发下demo吗谢谢,queenbinbin@163.com
caoyi6612 2016-03-22
  • 打赏
  • 举报
回复
同求代码,649586213@qq.com
zzl258 2016-03-11
  • 打赏
  • 举报
回复
麻烦发下购物车代码 18301278809@163.com
li1c4444 2016-02-22
  • 打赏
  • 举报
回复
楼主,感谢分享,能否发下源码,764805023@qq.com 拜谢
怀君 2016-02-15
  • 打赏
  • 举报
回复
DEMO 太多了。
kaburoony 2016-02-14
  • 打赏
  • 举报
回复
楼主,我也正在学习android开发中,能否提供一份demo,谢谢,469125937@qq.com
加载更多回复(29)

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧