RecyclerView商家

package bawei.com.jds.mvp.ui.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;

import java.util.List;

import bawei.com.jds.R;
import bawei.com.jds.mvp.data.CartBean;

public class CarAdapter extends RecyclerView.Adapter<CarAdapter.MyView> implements CarCheckedListensen {
    Context context;
    List<CartBean.DataBean> cartBean;

    public List<CartBean.DataBean> getCartBean() {
        return cartBean;
    }

    private CarAllCheckListensen carAllCheckListensen;

    public CarAdapter(Context context, List<CartBean.DataBean> cartBean) {
        this.context = context;
        this.cartBean = cartBean;
    }

    public void setCarAllCheckListensen(CarAllCheckListensen carAllCheckListensen) {
        this.carAllCheckListensen = carAllCheckListensen;
    }

    @NonNull
    @Override
    public CarAdapter.MyView onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.car_item, parent, false);
        MyView hodler= new MyView(view);
        return hodler;
    }

    @Override
    public void onBindViewHolder(@NonNull CarAdapter.MyView holder, int position) {
        holder.car_tv_shang.setText(cartBean.get(position).getSellerName());
        holder.car_box.setChecked(cartBean.get(position).isCarIsChecked());
        holder.car_recyview.setLayoutManager(new LinearLayoutManager(context));
        ProductAdapter productAdapter = new ProductAdapter(context, cartBean.get(position).getList());
        holder.car_recyview.setAdapter(productAdapter);
        productAdapter.setCarCheckedListensen(this);
        for (int i = 0; i < cartBean.get(position).getList().size(); i++) {
            if (cartBean.get(position).getList().get(i).isProIsChecked()){
                holder.car_box.setChecked(true);
            }else {
                holder.car_box.setChecked(false);
                break;
            }
        }
        holder.car_box.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (holder.car_box.isChecked()){
                    cartBean.get(position).setCarIsChecked(true);
                    for (int i = 0; i < cartBean.get(position).getList().size(); i++) {
                        cartBean.get(position).getList().get(i).setProIsChecked(true);
                    }
                }else {
                    cartBean.get(position).setCarIsChecked(false);
                    for (int i = 0; i < cartBean.get(position).getList().size(); i++) {
                        cartBean.get(position).getList().get(i).setProIsChecked(false);
                    }
                }
                notifyDataSetChanged();
                if (carAllCheckListensen!=null){
                    carAllCheckListensen.caralllistend();
                }
            }
        });

    }

    @Override
    public int getItemCount() {
        return cartBean.size();
    }

    @Override
    public void notifyParent() {
        notifyDataSetChanged();
        if (carAllCheckListensen!=null){
            carAllCheckListensen.caralllistend();
        }

    }

    public class MyView extends RecyclerView.ViewHolder {

        private CheckBox car_box;
        private RecyclerView car_recyview;
        private TextView car_tv_shang;

        public MyView(View itemView) {
            super(itemView);
            car_box = itemView.findViewById(R.id.car_box);
            car_recyview = itemView.findViewById(R.id.car_recyview);
            car_tv_shang = itemView.findViewById(R.id.car_tv_shang);
        }
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/car_box"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="商家"
            android:id="@+id/car_tv_shang"
            />

    </LinearLayout>
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/car_recyview"
        ></android.support.v7.widget.RecyclerView>
</LinearLayout>

猜你喜欢

转载自blog.csdn.net/qq_42585270/article/details/82829989