美文网首页
list remove 失效的解决方式

list remove 失效的解决方式

作者: 阳光下的美好_6e13 | 来源:发表于2018-10-08 17:52 被阅读79次

不能使用list直接删除对象,要使用Iterator

 Iterator<CouponsVO> iterator=viewModel.usedCoupons.get().iterator();

        if(couponsVO.isChecked()){
            viewModel.usedCoupons.get().add(couponsVO);
        }else{

            while (iterator.hasNext()) {
                CouponsVO c = (CouponsVO) iterator.next();
                if (couponsVO.getThqNO().equals(c.getThqNO())) {
                    iterator.remove();
                }

            }

            //删除无效
            //viewModel.usedCoupons.get().remove(couponsVO);
            //viewModel.usedCoupons.notifyChange();

           /* 会发生生ConcurrentModificationException异常
            *for(CouponsVO c:viewModel.usedCoupons.get()){
             *   if(c.getThqNO().equals(couponsVO.getThqNO())) viewModel.usedCoupons.get().remove(c);
            }*/

相关文章

网友评论

      本文标题:list remove 失效的解决方式

      本文链接:https://www.haomeiwen.com/subject/awmjaftx.html