Android仿硅谷商城實(shí)現(xiàn)購物車實(shí)例代碼
本文實(shí)例為大家分享了Android實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下
1_設(shè)置點(diǎn)擊事件和定義狀態(tài)
在GovaffairPager類中
public class GovaffairPager extends BasePager { ............ /** * 編輯狀態(tài) */ private static final int ACTION_EDIT = 0; /** * 完成狀態(tài) */ private static final int ACTION_COMPLETE = 1; @Override public void initData() { ...... //設(shè)置編輯的點(diǎn)擊事件 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){ //變成完成狀態(tài) showDelete(); }else if(action ==ACTION_COMPLETE){ //變成編輯狀態(tài) hideDelete(); } } }); } /** * 隱藏刪除按鈕 */ private void hideDelete() { //1.文本設(shè)置-編輯 btn_cart.setText("編輯"); //2.狀態(tài)設(shè)置編輯 btn_cart.setTag(ACTION_EDIT); //3.數(shù)據(jù)設(shè)置非全選 adapter.checkAll_none(true); adapter.checkAll(); //4.隱藏按鈕顯示,顯示結(jié)算按鈕 btn_delete.setVisibility(View.GONE); btn_order.setVisibility(View.VISIBLE); //5.價(jià)格重新計(jì)算 adapter.showTotalPrice(); } /** * 顯示刪除按鈕 */ private void showDelete() { //1.文本設(shè)置-完成 btn_cart.setText("完成"); //2.狀態(tài)設(shè)置完成 btn_cart.setTag(ACTION_COMPLETE); //3.數(shù)據(jù)設(shè)置非全選 adapter.checkAll_none(false); adapter.checkAll(); //4.刪除按鈕顯示,隱藏結(jié)算按鈕 btn_delete.setVisibility(View.VISIBLE); btn_order.setVisibility(View.GONE); //5.價(jià)格重新計(jì)算 adapter.showTotalPrice(); } }
2_在適配器中刪除選中的item
//設(shè)置點(diǎn)擊刪除 btn_delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //只是把選擇的刪除 adapter.deleteCart(); } });
在適配器中的代碼
/** * 刪除選中的數(shù)據(jù) */ 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.刪除當(dāng)前內(nèi)存的 // datas.remove(cart); // //3.刷新數(shù)據(jù) // 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.刪除當(dāng)前內(nèi)存的 //datas.remove(cart); iterator.remove(); //3.刷新數(shù)據(jù) notifyItemRemoved(position); } } } }
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Android簡(jiǎn)單的利用MediaRecorder進(jìn)行錄音的實(shí)例代碼
MediaRecorder可以進(jìn)行簡(jiǎn)單的錄音,由于操作簡(jiǎn)單所以可以用來進(jìn)行基本的錄音。下面提供一個(gè)簡(jiǎn)單的例子,記得在Mainfest文件中添加權(quán)限2013-08-08ListView-添加item的事件監(jiān)聽實(shí)例
下面小編就為大家?guī)硪黄狶istView-添加item的事件監(jiān)聽實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07Android編程視頻播放API之MediaPlayer用法示例
這篇文章主要介紹了Android編程視頻播放API之MediaPlayer用法,結(jié)合實(shí)例形式分析了基于Android API實(shí)現(xiàn)視頻播放功能的多媒體文件讀取、判斷、事件響應(yīng)及流媒體播放等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08Android Studio下的APP目錄結(jié)構(gòu)詳解
這篇文章主要介紹了AndroidStudio下的APP目錄結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Android WebView實(shí)現(xiàn)頂部進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android WebView實(shí)現(xiàn)頂部進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11android實(shí)現(xiàn)字體閃爍動(dòng)畫的方法
這篇文章主要介紹了android實(shí)現(xiàn)字體閃爍動(dòng)畫的方法,涉及Android中線程調(diào)用和Timer計(jì)時(shí)器的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Android仿微信@好友功能 輸入@跳轉(zhuǎn)、刪除整塊
這篇文章主要介紹了Android仿微信@好友功能 輸入@跳轉(zhuǎn)、刪除整塊,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-10-10