小的adpter
package coml.bawei.dell.lianxi1.adpter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import coml.bawei.dell.lianxi1.R;
import coml.bawei.dell.lianxi1.bean.ShopCarBean;
public class ShopCarGoodsAdpter extends RecyclerView.Adapter<ShopCarGoodsAdpter.ViewHolder> {
private List<ShopCarBean.DataBean.ListBean> mList;
private Context mContext;
public ShopCarGoodsAdpter(Context mContext) {
this.mContext = mContext;
mList = new ArrayList<>();
}
public void setmList(List<ShopCarBean.DataBean.ListBean> mList)
{
this.mList = mList;
notifyDataSetChanged();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(mContext, R.layout.shopcar_goods_item,null);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, final int i) {
viewHolder.checkBox.setChecked(mList.get(i).isCheck());
viewHolder.name.setText(mList.get(i).getTitle());
viewHolder.price.setText(mList.get(i).getPrice()+"");
String images = mList.get(i).getImages();
String[] split = images.split("\\|");
viewHolder.image.setImageURI(split[0]);
viewHolder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mList.get(i).setCheck(isChecked);
if (onClick!=null){
onClick.OnClickLisenter();
}
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
//如果商家选中商品
public void selectAllCheck(boolean b)
{
for (ShopCarBean.DataBean.ListBean bean:mList){
bean.setCheck(b);
}
notifyDataSetChanged();
}
public class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.image_item)
SimpleDraweeView image;
@BindView(R.id.name_item)
TextView name;
@BindView(R.id.check_item)
CheckBox checkBox;
@BindView(R.id.price_item)
TextView price;
public ViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
onClick onClick;
public void setOnClickLisenter(onClick onClick){
this.onClick = onClick;
}
public interface onClick{
void OnClickLisenter();
}
}
大的adpter
package coml.bawei.dell.lianxi1.adpter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import coml.bawei.dell.lianxi1.R;
import coml.bawei.dell.lianxi1.bean.GoodsBean;
import coml.bawei.dell.lianxi1.bean.ShopCarBean;
public class ShopCarAdpter extends RecyclerView.Adapter<ShopCarAdpter.ViewHolder> {
private List<ShopCarBean.DataBean> mList;
private Context mContext;
public ShopCarAdpter(Context mContext) {
this.mContext = mContext;
mList = new ArrayList<>();
}
public void setmList(List<ShopCarBean.DataBean> mList) {
this.mList = mList;
notifyDataSetChanged();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(mContext, R.layout.shopcar_item,null);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, final int i) {
viewHolder.title.setText(mList.get(i).getSellerName());
viewHolder.checkBox.setChecked(mList.get(i).isCheck());
final ShopCarGoodsAdpter carGoodsAdpter = new ShopCarGoodsAdpter(mContext);
carGoodsAdpter.setmList(mList.get(i).getList());
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext);
viewHolder.recyclerView.setAdapter(carGoodsAdpter);
viewHolder.recyclerView.setLayoutManager(linearLayoutManager);
viewHolder.checkBox.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
mList.get(i).setCheck(viewHolder.checkBox.isChecked());
//调用商品的
carGoodsAdpter.selectAllCheck(viewHolder.checkBox.isChecked());
}
});
carGoodsAdpter.setOnClickLisenter(new ShopCarGoodsAdpter.onClick() {
@Override
public void OnClickLisenter() {
if (onCheckOncClick!=null){
onCheckOncClick.setOnCliclk(mList);
}
List<ShopCarBean.DataBean.ListBean> list = mList.get(i).getList();
boolean selectAll=true;
for (ShopCarBean.DataBean.ListBean listBean:list){
if (!listBean.isCheck()){
selectAll=false;
}
viewHolder.checkBox.setChecked(selectAll);
mList.get(i).setCheck(selectAll);
}
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.shopcar_check)
CheckBox checkBox;
@BindView(R.id.shopcar_title)
TextView title;
@BindView(R.id.shopcar_recycle)
RecyclerView recyclerView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
onCheckOncClick onCheckOncClick;
public void setOnCheckClickLisnter(onCheckOncClick checkClickLisnter){
this.onCheckOncClick = checkClickLisnter;
}
public interface onCheckOncClick{
void setOnCliclk(List<ShopCarBean.DataBean> list);
}
}
价格计算
package coml.bawei.dell.lianxi1.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import coml.bawei.dell.lianxi1.R;
import coml.bawei.dell.lianxi1.adpter.ShopCarAdpter;
import coml.bawei.dell.lianxi1.bean.ShopCarBean;
import coml.bawei.dell.lianxi1.presenter.IPresenterImpl;
import coml.bawei.dell.lianxi1.view.IView;
public class ShopCarActivity extends AppCompatActivity implements View.OnClickListener,IView {
@BindView(R.id.shopcarrecycle)
RecyclerView recyclerView;
@BindView(R.id.sum)
TextView sum;
@BindView(R.id.check_all)
CheckBox checkall;
private String shopcarUrl="product/getCarts";
private IPresenterImpl iPresenter;
private ShopCarAdpter carAdpter;
private List<ShopCarBean.DataBean> data1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shop_car);
ButterKnife.bind(this);
iPresenter = new IPresenterImpl(this);
//加载布局
initLayout();
}
//加载布局
private void initLayout(){
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
carAdpter = new ShopCarAdpter(this);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(carAdpter);
getData();
//计算
total();
}
private void getData(){
Map<String,String> map = new HashMap<>();
map.put("uid",23421+"");
iPresenter.requestDataPost(shopcarUrl,map,ShopCarBean.class);
}
//计算价格
public void total(){
carAdpter.setOnCheckClickLisnter(new ShopCarAdpter.onCheckOncClick()
{
@Override
public void setOnCliclk(List<ShopCarBean.DataBean> list) {
double tatal=0;
for (int i=0;i<list.size();i++){
List<ShopCarBean.DataBean.ListBean> list1 = list.get(i).getList();
for (int j=0;j<list1.size();j++){
if (list1.get(j).isCheck()){
tatal+=list1.get(j).getPrice()*list1.get(j).getNum();
}
}
}
sum.setText(tatal+"");
}
});
}
//全选框的状态
@OnClick(R.id.check_all)
public void checkAllOnClick(){
selectAll(checkall.isChecked());
carAdpter.notifyDataSetChanged();
}
//全选框的计算
public void selectAll(boolean b){
double sumall =0;
for (int i=0;i<data1.size();i++){
ShopCarBean.DataBean dataBean = data1.get(i);
dataBean.setCheck(b);
List<ShopCarBean.DataBean.ListBean> list = data1.get(i).getList();
for (int j=0;j<list.size();j++){
list.get(j).setCheck(b);
sumall = sumall+list.get(j).getNum()*list.get(j).getPrice();
}
}
if (b){
sum.setText(sumall+"");
}
else {
sum.setText(0+"");
}
}
@Override
public void onClick(View v) {
}
@Override
public void success(Object data) {
if (data instanceof ShopCarBean){
ShopCarBean shopCarBean = (ShopCarBean) data;
data1 = shopCarBean.getData();
carAdpter.setmList(data1);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
iPresenter.des();
}
}