当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现二级购物车的全选加反选、总价功能

Android实现二级购物车的全选加反选、总价功能

2019年07月23日  | 移动技术网IT编程  | 我要评论

4493美女图片,四年级语文上册课件,QQ个网名

本文实例为大家分享了android实现二级购物车的全选加反选、总价的具体代码,供大家参考,具体内容如下

mainactivity

import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.support.v7.widget.linearlayoutmanager;
import android.support.v7.widget.recyclerview;
import android.util.log;
import android.view.view;
import android.widget.checkbox;
import android.widget.compoundbutton;
import android.widget.textview;

import java.util.arraylist;

import wangyaowei.bw.com.shopcart.adapter.shopadapter;
import wangyaowei.bw.com.shopcart.bean.databean;
import wangyaowei.bw.com.shopcart.bean.listbean;
import wangyaowei.bw.com.shopcart.bean.shopbean;
import wangyaowei.bw.com.shopcart.presenter.goodspresenter;
import wangyaowei.bw.com.shopcart.view.goodsview;

public class mainactivity extends appcompatactivity implements goodsview {

 private recyclerview rlv_shop;
 private goodspresenter goodspresenter;
 private checkbox box_all;
 private shopadapter shopadapter;
 private arraylist<databean> data;
 public textview sum;
 public int nums;
 public double prices;
 public double total;

 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 setcontentview(r.layout.activity_main);

 sum = findviewbyid(r.id.sum);
 rlv_shop = findviewbyid(r.id.rlv_shop);
 linearlayoutmanager linearlayoutmanager = new linearlayoutmanager(this);
 rlv_shop.setlayoutmanager(linearlayoutmanager);

 goodspresenter = new goodspresenter(this);
 goodspresenter.relaed();
 box_all = findviewbyid(r.id.box_all);

 }

 @override
 public void onresult(arraylist<databean> data) {
 this.data=data;
 shopadapter = new shopadapter(mainactivity.this, data);
 rlv_shop.setadapter(shopadapter);
 setaaa();

 }

 private void setaaa() {

 box_all.setonclicklistener(new view.onclicklistener() {
  @override
  public void onclick(view v) {
  if(box_all.ischecked()){

   for(int i=0;i<data.size();i++){
   databean databean = data.get(i);
   databean.setflag(true);
   arraylist<listbean> list = databean.getlist();
   for (int j = 0; j < list.size(); j++) {
    listbean listbean = list.get(j);
    listbean.setflags(true);
   }
   }

  }
  else {
   for(int i=0;i<data.size();i++){
   databean databean = data.get(i);
   databean.setflag(false);
   arraylist<listbean> list = databean.getlist();
   for (int j = 0; j < list.size(); j++) {
    listbean listbean = list.get(j);
    listbean.setflags(false);
   }
   }
  }
  shopadapter.notifydatasetchanged();
  getprice();
  }
 });
 }

 private void getprice() {
 total = 0;
 int sums=0;
 for (int i = 0; i < data.size(); i++) {
  databean databean = data.get(i);
  arraylist<listbean> list = databean.getlist();
  for (int j = 0; j < list.size(); j++) {
  listbean listbean = list.get(j);
  if (listbean.isflags()){
   string num = listbean.getnum();
   nums = integer.valueof(num);
   string price =listbean.getprice();
   prices = double.valueof(price);
   total += nums * prices;
   sums++;
  }
  }

 }

 sum.settext(total +"");

 }
}

一级适配器

public class shopadapter extends recyclerview.adapter<shopadapter.myviewholder> {
 context context;
 arraylist<databean> beans;


 public shopadapter(context context, arraylist<databean> beans) {
 this.context = context;
 this.beans = beans;
 }

 @nonnull
 @override
 public myviewholder oncreateviewholder(@nonnull viewgroup viewgroup, int i) {
 view view=layoutinflater.from(context).inflate(r.layout.shop_layout,null,false);
 myviewholder myviewholder = new myviewholder(view);
 return myviewholder;
 }

 @override
 public void onbindviewholder(@nonnull myviewholder myviewholder, int i) {
 myviewholder.name_shop.settext(beans.get(i).getsellername());

 linearlayoutmanager linearlayoutmanager = new linearlayoutmanager(context);
 myviewholder.rlv_goods.setlayoutmanager(linearlayoutmanager);

 arraylist<listbean> list = beans.get(i).getlist();
 goodsadapter goodsadapter = new goodsadapter(context, list);

 myviewholder.rlv_goods.setadapter(goodsadapter);
 myviewholder.box_shop.setchecked(beans.get(i).isflag());
 }

 @override
 public int getitemcount() {
 return beans.size();
 }

 public class myviewholder extends recyclerview.viewholder {

 private final textview name_shop;
 private final checkbox box_shop;
 private final recyclerview rlv_goods;
 public myviewholder(@nonnull view itemview) {
  super(itemview);
  name_shop = itemview.findviewbyid(r.id.name_shop);
  rlv_goods = itemview.findviewbyid(r.id.rlv_goods);
  box_shop = itemview.findviewbyid(r.id.box_shop);
 }
 }
}

二级适配器

public class goodsadapter extends recyclerview.adapter<goodsadapter.myviewholder> {
 context context;
 arraylist<listbean> beans;
 private int shu;

 public goodsadapter(context context, arraylist<listbean> beans) {
 this.context = context;
 this.beans = beans;
 }

 @nonnull
 @override
 public myviewholder oncreateviewholder(@nonnull viewgroup viewgroup, int i) {
 view view=layoutinflater.from(context).inflate(r.layout.goods_layout,null,false);
 myviewholder myviewholder = new myviewholder(view);
 return myviewholder;
 }

 @override
 public void onbindviewholder(@nonnull final myviewholder myviewholder, int i) {
 myviewholder.name_goods.settext(beans.get(i).gettitle());
 myviewholder.price_goods.settext(beans.get(i).getprice()+"");

 string num = beans.get(i).getnum();
 shu = integer.parseint(num);
 myviewholder.addview.nums.settext(shu +"");

 glide.with(context).load(beans.get(i).getimages()).into(myviewholder.img_goods);
 myviewholder.box_goods.setchecked(beans.get(i).isflags());

 myviewholder.addview.jia.setonclicklistener(new view.onclicklistener() {
  @override
  public void onclick(view v) {
  shu++;
  myviewholder.addview.nums.settext(shu +"");
  }
 });
 myviewholder.addview.jian.setonclicklistener(new view.onclicklistener() {
  @override
  public void onclick(view v) {
  if (shu>=1){
   shu--;
   myviewholder.addview.nums.settext(shu +"");
  }else {
   toast.maketext(context, "已经最少不能减了", toast.length_short).show();
  }
  }
 });

 }

 @override
 public int getitemcount() {
 return beans.size();
 }

 public class myviewholder extends recyclerview.viewholder {

 private final textview name_goods,price_goods;
 private final imageview img_goods;
 private final addview addview;
 private final checkbox box_goods;

 public myviewholder(@nonnull view itemview) {
  super(itemview);
  name_goods = itemview.findviewbyid(r.id.name_goods);
  price_goods = itemview.findviewbyid(r.id.price_goods);
  img_goods = itemview.findviewbyid(r.id.img_goods);
  addview = itemview.findviewbyid(r.id.addview);
  box_goods = itemview.findviewbyid(r.id.box_goods);
 }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网