购物车

xiaoxiao2025-11-04  35

//主页面 public class MainActivity extends AppCompatActivity implements View.OnClickListener { private String url="http://www.zhaoapi.cn/product/getCarts?uid=71"; private RecyclerView recycle_01; private ImageView img_01; private RecycyAdapter recycyAdapter; private List<Bean.DataBean> list=new ArrayList<>(); private TextView all_price_txt,sum_price_txt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 all_price_txt=(TextView)findViewById(R.id.all_price); sum_price_txt=(TextView)findViewById(R.id.sum_price); findViewById(R.id.layout_all).setOnClickListener(this); recycle_01=(RecyclerView)findViewById(R.id.recycle_01); img_01=(ImageView)findViewById(R.id.img_01); //创建适配器 recycyAdapter = new RecycyAdapter(this); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recycle_01.setLayoutManager(linearLayoutManager); recycle_01.setAdapter(recycyAdapter); //联网请求 doHttp(); //单击事件 recycyAdapter.result(new RecycyAdapter.HttpLister() { @Override public void success(List<Bean.DataBean> list) { double price=0; int num=0; int numall=0; for (int i = 0; i < list.size(); i++) { List<Bean.DataBean.ListBean> listall = list.get(i).getList(); for (int a=0;a<listall.size();a++){ numall++; if (listall.get(a).isClick()){ price=price+listall.get(a).getPrice(); num++; } } } if (num<numall){ isCheck=true; img_01.setImageResource(R.drawable.cricle_no); }else { isCheck=false; img_01.setImageResource(R.drawable.cricle_yes); } all_price_txt.setText(price+"总价"); sum_price_txt.setText(num+"去购买"); } }); } private void doHttp() { OkHttp1.getInstance().get(url).result(new OkHttp1.HttpLister() { @Override public void success(String data) { list = new Gson().fromJson(data, Bean.class).getData(); recycyAdapter.setList(list); } }); } private boolean isCheck=true; @Override public void onClick(View view) { switch (view.getId()){ case R.id.layout_all: if (isCheck){ img_01.setImageResource(R.drawable.cricle_yes); isCheck=false; xunhuan(true); }else{ img_01.setImageResource(R.drawable.cricle_no); isCheck=true; xunhuan(false); } break; } } //选中状态 private void xunhuan(boolean bool) { double allpric=0; int num=0; for (int i=0;i<list.size();i++){ List<Bean.DataBean.ListBean> listAll = list.get(i).getList(); for (int a=0;a<listAll.size();a++){ listAll.get(a).setClick(bool); allpric=allpric+listAll.get(a).getPrice(); num++; } } if (bool){ all_price_txt.setText("合计:"+allpric); sum_price_txt.setText("去结算("+num+")"); }else { all_price_txt.setText("合计:0.00"); sum_price_txt.setText("去结算(0)"); } recycyAdapter.notifyDataSetChanged(); } } //商家的适配器 public class RecycyAdapter extends RecyclerView.Adapter<RecycyAdapter.MyViewHolder>{ private Context context; private List<Bean.DataBean> list=new ArrayList<>(); public RecycyAdapter(Context context) { this.context=context; } @Override public RecycyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.recyc_layout,null); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(RecycyAdapter.MyViewHolder holder, int position) { //设置title holder.title.setText(list.get(position).getSellerName()); //获取商品的集合 List<Bean.DataBean.ListBean> listAll = list.get(position).getList(); //设置适配器 RecycyChildAdapter recycyChildAdapter = new RecycyChildAdapter(context,listAll); //设置布局管理器 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); //设置方向 linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); //把布局管理器设置给recycle holder.recycler_02.setLayoutManager(linearLayoutManager); //把适配器设置给recycle holder.recycler_02.setAdapter(recycyChildAdapter); //接口回调 recycyChildAdapter.setListener(new RecycyChildAdapter.ShopCallBackListener() { @Override public void callBack() { lister.success(list); } }); } @Override public int getItemCount() { return list.size(); } public void setList(List<Bean.DataBean> list) { this.list = list; notifyDataSetChanged(); } public class MyViewHolder extends RecyclerView.ViewHolder { TextView title; RecyclerView recycler_02; public MyViewHolder(View itemView) { super(itemView); title=(TextView)itemView.findViewById(R.id.title); recycler_02=(RecyclerView)itemView.findViewById(R.id.recycler_02); } } private HttpLister lister; public void result(HttpLister lister){ this.lister=lister; } public interface HttpLister{ void success(List<Bean.DataBean> list); } } //商品的适配器 public class RecycyChildAdapter extends RecyclerView.Adapter<RecycyChildAdapter.MyViewHolder>{ private Context context; private List<Bean.DataBean.ListBean> listAll; public RecycyChildAdapter(Context context, List<Bean.DataBean.ListBean> listAll) { this.context=context; this.listAll=listAll; } @Override public RecycyChildAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.recyc_child_layout,null); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(RecycyChildAdapter.MyViewHolder holder, final int position) { holder.title2.setText(listAll.get(position).getTitle()); Picasso.with(context).load(listAll.get(position).getImages().split("\\|")[0]).fit().into(holder.img); if (listAll.get(position).isClick()){ holder.check.setImageResource(R.drawable.cricle_yes); }else { holder.check.setImageResource(R.drawable.cricle_no); } //点击商品选中 holder.check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (listAll.get(position).isClick()){ listAll.get(position).setClick(false); }else { listAll.get(position).setClick(true); } listener.callBack(); notifyItemChanged(position); } }); } @Override public int getItemCount() { return listAll.size(); } public class MyViewHolder extends RecyclerView.ViewHolder { ImageView check; TextView title2; ImageView img; public MyViewHolder(View itemView) { super(itemView); img=(ImageView)itemView.findViewById(R.id.img); title2=(TextView)itemView.findViewById(R.id.title2); check=(ImageView)itemView.findViewById(R.id.check); } } //传递接口 private ShopCallBackListener listener; public void setListener(ShopCallBackListener listener){ this.listener=listener; } public interface ShopCallBackListener{ void callBack(); } }
转载请注明原文地址: https://www.6miu.com/read-5039048.html

最新回复(0)