안 드 로 이 드 는 실리콘밸리 쇼핑 몰 을 모방 하여 카 트 인 스 턴 스 코드 를 실현 한다.
3222 단어 안 드 로 이 드 카 트
1_클릭 이벤트 와 정의 상태 설정
Govaffair Pager 류 에서
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_선택 한 아 이 템 을 어댑터 에서 삭제 합 니 다.
//
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);
}
}
}
}
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.