本文实例为大家分享了Android实现购物车的具体代码,供大家参考,具体内容如下
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
//设置点击删除
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);
}
}
}
}
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。