仿京东适配器
来源:互联网 发布:游戏数据分析师 编辑:程序博客网 时间: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()+""); }
阅读全文
0 0