购物车删除逻辑问题解决方案
来源: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
052018-07-02
相似问题