购物车删除逻辑问题解决方案

来源:13-4 购物车事件逻辑梳理与实现-2

找不到工作的苦比

2017-10-01

写回答

1回答

找不到工作的苦比

提问者

2017-10-01

@OnClick(R2.id.tv_top_shop_cart_remove_selected)
void onClickRemoveSelectedItem() {
    final List<MultipleItemEntity> data = mAdapter.getData();
    //要删除的数据
    final List<MultipleItemEntity> deleteEntities = new ArrayList<>();
    int i = 0;
    for (MultipleItemEntity entity : data) {
        final boolean isSelected = entity.getField(ShopCartItemFields.IS_SELECTED);
        entity.setField(ShopCartItemFields.POSITION, i); //每次重新赋值位置
        if (isSelected) {
            deleteEntities.add(entity);
        }
        i++;
    }
    //从List中最后一个开始删除,防止引起下标的变动
    for (int j = deleteEntities.size()-1; j >=0; j--) {
        int removePosition = deleteEntities.get(j).getField(ShopCartItemFields.POSITION);
        mAdapter.remove(removePosition); //remove方法内部调用notifyItemRangeChanged
    }
    //checkItemCount();
}

这个是我自己凑合写的。。:-D

0
5
qq_风吹裤裤的海量_0
回复
找不到工作的苦比
谢谢解决了购物车删除混乱的问题
2018-07-02
共5条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程