仿京东适配器

来源:互联网 发布:游戏数据分析师 编辑:程序博客网 时间:2024/06/03 17:29
public class MyExpandableListViewAdapter extends BaseExpandableListAdapter implements MyAdapterUpdateKiss{        private List<MyCartGoodDataBean.DataBean> data;        private Context context;    private TextView pricetext;    private TextView numtext;    private double priceAll=0.0;    private int numAll=0;    private CheckBox checkBox;    private MyCartGoodDataBean myCartGoodDataBean;    public MyExpandableListViewAdapter(List<MyCartGoodDataBean.DataBean> data, Context context, TextView pricetext, TextView numtext, MyCartGoodDataBean myCartGoodDataBean,CheckBox checkBox) {        this.data = data;        this.context = context;        this.pricetext = pricetext;        this.numtext = numtext;        this.myCartGoodDataBean=myCartGoodDataBean;        this.checkBox=checkBox;        for (int i=0;i<data.size();i++){            for (int j=0;j<data.get(i).getList().size();j++){                updateShoppingCart(i,j);            }        }        notifyDataSetChanged();    }    @Override    public int getGroupCount() {        return data.size();    }    @Override    public int getChildrenCount(int i) {        return data.get(i).getList().size();    }    @Override    public Object getGroup(int i) {        return data.get(i);    }    @Override    public Object getChild(int i, int i1) {        return data.get(i).getList().get(i1);    }    @Override    public long getGroupId(int i) {        return i;    }    @Override    public long getChildId(int i, int i1) {        return i1;    }    @Override    public boolean hasStableIds() {        return false;    }    @Override    public View getGroupView(final int i, final boolean b, View view, ViewGroup viewGroup) {        final ViewHolderFather viewHolderFather;        if(view==null){            view=View.inflate(context,R.layout.father_layout,null);            viewHolderFather = new ViewHolderFather();            viewHolderFather.checkBox= (CheckBox) view.findViewById(R.id.my_checkbox_father);            viewHolderFather.textView= (TextView) view.findViewById(R.id.my_textview_dianpu);            viewHolderFather.linearLayout= (LinearLayout) view.findViewById(R.id.my_father_linear);            view.setTag(viewHolderFather);        }else{            viewHolderFather = (ViewHolderFather) view.getTag();        }        viewHolderFather.textView.setText(data.get(i).getSellerName());        viewHolderFather.checkBox.setChecked(data.get(i).getchecked());        viewHolderFather.checkBox.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                    data.get(i).setIschecked(viewHolderFather.checkBox.isChecked());                    List<MyCartGoodDataBean.DataBean.ListBean> list = data.get(i).getList();                    if(viewHolderFather.checkBox.isChecked()){                    for (int j=0;j<list.size();j++) {                        list.get(j).setSelected(1);                        int num = list.get(j).getNum();                        double price = list.get(j).getPrice();                        priceAll=priceAll+num*price;                        numAll=numAll+num;                        updateShoppingCart(i,j);                    }                }else{                    for (int j=0;j<list.size();j++) {                        list.get(j).setSelected(0);                        int num = list.get(j).getNum();                        double price = list.get(j).getPrice();                        priceAll=priceAll-num*price;                        numAll=numAll-num;                        updateShoppingCart(i,j);                    }                }                pricetext.setText(priceAll+"");                numtext.setText(numAll+"");                notifyDataSetChanged();            }        });        return view;    }    public void getIsCheckAll(boolean checked) {        priceAll=0;        numAll=0;        for (int i=0;i<data.size();i++){            data.get(i).setIschecked(checked);            for (int j=0;j<data.get(i).getList().size();j++){                data.get(i).getList().get(j).setSelected(checked?1:0);                if(data.get(i).getList().get(j).getSelected()==1){                    int num = data.get(i).getList().get(j).getNum();                    double price = data.get(i).getList().get(j).getPrice();                    priceAll=priceAll+num*price;                    numAll=numAll+num;                    updateShoppingCart(i,j);                }            }        }        pricetext.setText(priceAll+"");        numtext.setText(numAll+"");        notifyDataSetChanged();    }    @Override    public void getPresenterUpdateJson(String json) {        Gson gson = new Gson();        //gson.fromJson(json,)    }    private class ViewHolderFather{        LinearLayout linearLayout;        CheckBox checkBox;        TextView textView;    }    @Override    public View getChildView(final int i, final int i1, boolean b, View view, ViewGroup viewGroup) {        final ViewHolderChilder viewHolderChilder;        if(view==null){            view=View.inflate(context,R.layout.childer_layout,null);            viewHolderChilder = new ViewHolderChilder();            viewHolderChilder.linearLayout= (LinearLayout) view.findViewById(R.id.my_childer_linear);            viewHolderChilder.imageView= (ImageView) view.findViewById(R.id.my_imageview);            viewHolderChilder.textViewtitle= (TextView) view.findViewById(R.id.my_title);            viewHolderChilder.textViewcut= (TextView) view.findViewById(R.id.my_text_cot);            viewHolderChilder.textViewprice= (TextView) view.findViewById(R.id.my_price);            viewHolderChilder.checkBox= (CheckBox) view.findViewById(R.id.my_checkbox_child);            viewHolderChilder.buttonjia= (Button) view.findViewById(R.id.my_jia_button);            viewHolderChilder.buttonjian= (Button) view.findViewById(R.id.my_jian_button);            view.setTag(viewHolderChilder);        }else{            viewHolderChilder = (ViewHolderChilder) view.getTag();        }        boolean kai = isKai(data.get(i).getList());        data.get(i).setIschecked(kai);        if(data.get(i).getList().get(i1).getSelected()==1){            viewHolderChilder.checkBox.setChecked(true);        }else{            viewHolderChilder.checkBox.setChecked(false);        }        viewHolderChilder.textViewtitle.setText(data.get(i).getList().get(i1).getTitle());        viewHolderChilder.textViewprice.setText("¥"+data.get(i).getList().get(i1).getPrice()+"");        viewHolderChilder.textViewcut.setText(data.get(i).getList().get(i1).getNum()+"");        String images = data.get(i).getList().get(i1).getImages();        String[] split = images.split("\\|");        ImageLoader.getInstance().displayImage(split[0],viewHolderChilder.imageView, ImageUtil.imageShow());        viewHolderChilder.checkBox.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                List<MyCartGoodDataBean.DataBean.ListBean> list = data.get(i).getList();                if(viewHolderChilder.checkBox.isChecked()){                    data.get(i).getList().get(i1).setSelected(1);                    boolean kai = isKai(list);                    data.get(i).setIschecked(kai);                    int num = list.get(i1).getNum();                    double price = list.get(i1).getPrice();                    priceAll=priceAll+num*price;                    numAll=numAll+num;                }else{                    data.get(i).getList().get(i1).setSelected(0);                    data.get(i).setIschecked(false);                    int num = list.get(i1).getNum();                    double price = list.get(i1).getPrice();                    priceAll=priceAll-num*price;                    numAll=numAll-num;                }                pricetext.setText(priceAll+"");                numtext.setText(numAll+"");                updateShoppingCart(i,i1);                notifyDataSetChanged();            }        });        viewHolderChilder.buttonjia.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                int num = data.get(i).getList().get(i1).getNum();                int num1 = data.get(i).getList().get(i1).getNum();                num1=num1+1;                data.get(i).getList().get(i1).setNum(num1);                double price = data.get(i).getList().get(i1).getPrice();                if(data.get(i).getList().get(i1).getSelected()==1){                    priceAll=priceAll+num1*price-num*price;                    numAll=numAll+num1-num;                    pricetext.setText(priceAll+"");                    numtext.setText(numAll+"");                }                updateShoppingCart(i,i1);                notifyDataSetChanged();            }        });        viewHolderChilder.buttonjian.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                int num = data.get(i).getList().get(i1).getNum();                int num1 = data.get(i).getList().get(i1).getNum();                num1=num1-1;                if(num1==1){                    return;                }else{                    data.get(i).getList().get(i1).setNum(num1);                    double price = data.get(i).getList().get(i1).getPrice();                    if(data.get(i).getList().get(i1).getSelected()==1){                        priceAll=priceAll+num1*price-num*price;                        numAll=numAll+num1-num;                        pricetext.setText(priceAll+"");                        numtext.setText(numAll+"");                    }else{                    }                }                updateShoppingCart(i,i1);                notifyDataSetChanged();            }        });        return view;    }    private boolean isKai(List<MyCartGoodDataBean.DataBean.ListBean> list) {        boolean Flag=true;        for (MyCartGoodDataBean.DataBean.ListBean li:list ) {            if(li.getSelected()==0){                Flag=false;                break;            }        }        return Flag;    }    private class ViewHolderChilder{        Button buttonjian;        Button buttonjia;        CheckBox checkBox;        LinearLayout linearLayout;        ImageView imageView;        TextView textViewtitle;        TextView textViewprice;        TextView textViewcut;    }    @Override    public boolean isChildSelectable(int i, int i1) {        return true;    }    public void updateShoppingCart(int i,int i1){        MyCartGoodDataBean.DataBean.ListBean listBean = data.get(i).getList().get(i1);        MyPresenterUpdate myPresenterUpdate = new MyPresenterUpdate(this);        Log.i("jiba",listBean.getSellerid()+"----------"+listBean.getPid()+"----------"+listBean.getNum()+"----------"+listBean.getSelected()+"");        myPresenterUpdate.getAdapterUpdateUrl("https://www.zhaoapi.cn/product/updateCarts","3026",listBean.getSellerid()+"",listBean.getPid()+"",listBean.getNum()+"",listBean.getSelected()+"");    }