public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private String url=“http://www.zhaoapi.cn/product/getCarts?uid=71”;
private ShopSellerAdapter mShopSellerAdapter;
private ImageView ivCricle;
private List<ShopBean.DataBean> list=new ArrayList<>();
private TextView allPriceTxt,sunPrice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView.setLayoutManager(linearLayoutManager);
mShopSellerAdapter=new ShopSellerAdapter(this);
mRecyclerView.setAdapter(mShopSellerAdapter);
doHttp();
ivCricle=(ImageView)findViewById(R.id.iv_cricle);
allPriceTxt=(TextView)findViewById(R.id.all_price);
sunPrice=(TextView)findViewById(R.id.sum_price_txt);
findViewById(R.id.layout_all).setOnClickListener(this);
mShopSellerAdapter.setListener(new ShopSellerAdapter.ShopCallBackListener() {
@Override
public void callBack(List<ShopBean.DataBean> list) {
//在这里重新遍历已经改状态后的数据
double allPrice=0;
int num=0;
int numAll=0;
for (int a=0;a<list.size();a++){
List<ShopBean.DataBean.ListBean> listAll = list.get(a).getList();//获取商家里商品
for (int i = 0; i <listAll.size() ; i++) {
numAll=numAll+listAll.get(i).getNum();
if(listAll.get(i).isCheck()){//取选中的状态
allPrice=allPrice+(listAll.get(i).getPrice()*listAll.get(i).getNum());
num=num+listAll.get(i).getNum();
}
}
}
if(num<numAll){//不是全部选中
ivCricle.setImageResource(R.drawable.cricle_no);
isClick=true;
}else{
//是全部选中
ivCricle.setImageResource(R.drawable.cricle_yes);
isClick=false;
}
//改变价格和个数
allPriceTxt.setText("合计:"+allPrice);
sunPrice.setText("去结算("+num+")");
}
});
}
private void doHttp() {
OkHttpUtils.getOkHttpUtils().get(url).result(new OkHttpUtils.HttpListener() {
@Override
public void success(String data) {
ShopBean bean= new Gson().fromJson(data,ShopBean.class);
list = bean.getData();
list.remove(0);
mShopSellerAdapter.setList(list);
}
@Override
public void fail(String error) {
}
});
}
private boolean isClick=true;
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.layout_all://全选
if(isClick){
ivCricle.setImageResource(R.drawable.cricle_yes);
isClick=false;
checkSeller(true);
}else{
ivCricle.setImageResource(R.drawable.cricle_no);
isClick=true;
checkSeller(false);
}
break;
}
}
//选中状态
private void checkSeller(boolean bool){
double allPrice=0;
int num=0;
for (int a=0;a<list.size();a++){
List<ShopBean.DataBean.ListBean> listAll = list.get(a).getList();
for (int i = 0; i <listAll.size() ; i++) {
listAll.get(i).setCheck(bool);
allPrice=allPrice+(listAll.get(i).getPrice()*listAll.get(i).getNum());
num=num+listAll.get(i).getNum();
}
}
if(bool){
allPriceTxt.setText("合计:"+allPrice);
sunPrice.setText("去结算("+num+")");
}else{
allPriceTxt.setText("合计:0.00");
sunPrice.setText("去结算(0)");
}
mShopSellerAdapter.notifyDataSetChanged();
}
}