你的位置:首页 > 操作系统

[操作系统]硅谷商城6


  

    完成状态                                          编辑状态

1_设置点击事件和定义状态

在GovaffairPager类中

public class GovaffairPager extends BasePager {  ............  /**   * 编辑状态   */  private static final int ACTION_EDIT = 0;  /**   * 完成状态   */  private static final int ACTION_COMPLETE = 1;    @Override  public void initData() {    ......    //设置编辑的点击事件    btn_cart.setTag(ACTION_EDIT);    btn_cart.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        int action = (int) btn_cart.getTag();        if(action ==ACTION_EDIT){          //变成完成状态          showDelete();        }else if(action ==ACTION_COMPLETE){          //变成编辑状态          hideDelete();        }      }    });  }  /**   * 隐藏删除按钮   */  private void hideDelete() {    //1.文本设置-编辑    btn_cart.setText("编辑");    //2.状态设置编辑    btn_cart.setTag(ACTION_EDIT);    //3.数据设置非全选    adapter.checkAll_none(true);    adapter.checkAll();    //4.隐藏按钮显示,显示结算按钮    btn_delete.setVisibility(View.GONE);    btn_order.setVisibility(View.VISIBLE);    //5.价格重新计算    adapter.showTotalPrice();  }  /**   * 显示删除按钮   */  private void showDelete() {    //1.文本设置-完成    btn_cart.setText("完成");    //2.状态设置完成    btn_cart.setTag(ACTION_COMPLETE);    //3.数据设置非全选    adapter.checkAll_none(false);    adapter.checkAll();    //4.删除按钮显示,隐藏结算按钮    btn_delete.setVisibility(View.VISIBLE);    btn_order.setVisibility(View.GONE);    //5.价格重新计算    adapter.showTotalPrice();  }}

2_在适配器中删除选中的item

在GovaffairPager类中

//设置点击删除btn_delete.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {    //只是把选择的删除    adapter.deleteCart();  }});

 

在适配器中的代码

/** * 删除选中的数据 */public void deleteData() {//    if(datas != null && datas.size() >0){//      for(int i=0;i<datas.size();i++){//        ShoppingCart cart = datas.get(i);//        if(cart.isCheck()){//          //1.删除本地缓存的//          cartProvider.deleteData(cart);//          //2.删除当前内存的//          datas.remove(cart);//          //3.刷新数据//          notifyItemRemoved(i);//          i--;//        }//      }//    }	if(datas != null && datas.size() >0){		for(Iterator iterator = datas.iterator();iterator.hasNext();){			ShoppingCart cart = (ShoppingCart) iterator.next();			if(cart.isCheck()){				//这行代码放在前面				int position = datas.indexOf(cart);				//1.删除本地缓存的				cartProvider.deleteData(cart);				//2.删除当前内存的				//datas.remove(cart);				iterator.remove();				//3.刷新数据				notifyItemRemoved(position);			}		}	}}