请稍等 ...
×

采纳答案成功!

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

正在回答 回答被采纳积分+3

1回答

提问者 找不到工作的苦比 2017-10-01 22:53:04
@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 回复 有任何疑惑可以回复我~
  • 这个解决了,过段时间发个代码到群里
    回复 有任何疑惑可以回复我~ 2017-10-04 11:56:31
  • 提问者 找不到工作的苦比 回复 傅猿猿 #2
    谢谢老师了,还是计算价格的,删除和清空,貌似都要重新计算价格。
    回复 有任何疑惑可以回复我~ 2017-10-04 14:46:47
  • 傅猿猿 回复 提问者 找不到工作的苦比 #3
    其实最好是服务器计算,不应该客户端处理的
    回复 有任何疑惑可以回复我~ 2017-10-05 14:36:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信