请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答

2回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 JackBook #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-01-30 11:15:52
励志克服拖延症的yato 2018-07-04 17:20:22

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

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

//清空当前选中的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 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信