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>