购物车的删除逻辑有问题额

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

JackBook

2018-01-29

  removePosition = entityPosition - (mTotalCount - mCurrentCount),   mTotalCount 只有初始值0  那么 负负得正  那样的话,removePosition 肯定有问题

写回答

2回答

骑兔子追乌龟

2018-01-29

关于购物车的问题,去群里看看,我记得有解决方法,不知道能不能帮助你

0
1
JackBook
非常感谢!
2018-01-30
共1条回复

励志克服拖延症的yato

2018-07-04

我没有在群里面找到解决办法,看到有的也是存在问题的

下面我把我自己改的方法写在这里

//清空当前选中的item
for (MultipleItemEntity entity : deleteEntities) {
   int removePosition;
   final int entityPosition = entity.getField(ShopCartItemFields.POSITION);
   if (entityPosition <adapter.getItemCount()) {
       adapter.remove(entityPosition);
      //把后面的所有数据的position都减一
       for (int i = entityPosition;i<adapter.getItemCount();i++){
            int currentPosition =(int)adapter.getData().get(i).getField(ShopCartItemFields.POSITION)-1;
            adapter.getData().get(i).setField(ShopCartItemFields.POSITION,currentPosition);
       }

   }

}

这样的想法主要是改变我们删除的item后面的item的positon,因为删除一个之后后面的position都要减1,

之后就和删除后的item对应上了,多选的话是一个道理,都是将它之后item的position减1.

1
0

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

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

2028 学习 · 1182 问题

查看课程