//CartAdapter
package com.bwie.yuekao.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 com.bwie.yuekao.R;
import com.bwie.yuekao.bean.CartBean;
import java.util.List;
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.CartViewHolder> {
private Context mcontext;
private List<CartBean.DataBean> cartlist;
private ProductAdapter productAdapter;
public CartAdapter(Context mcontext, List<CartBean.DataBean> cartlist) {
this.mcontext = mcontext;
this.cartlist = cartlist;
}
@NonNull
@Override
public CartViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mcontext).inflate(R.layout.cart_bottom_layout, parent, false);
CartViewHolder viewHolder = new CartViewHolder(itemView);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull final CartViewHolder holder, int position) {
final CartBean.DataBean bean = cartlist.get(position);
holder.nameTv.setText(bean.getSellerName());
holder.productXRV.setLayoutManager(new LinearLayoutManager(mcontext));
productAdapter = new ProductAdapter(mcontext, bean.getList());
holder.productXRV.setAdapter(productAdapter);
holder.checkBox.setChecked(bean.isSelected());
holder.checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (holder.checkBox.isChecked()){
bean.setSelected(true);
for (int i=0;i<bean.getList().size();i++){
bean.getList().get(i).setSelected(true);
}
}else {
bean.setSelected(false);
for (int i = 0;i<bean.getList().size();i++){
bean.getList().get(i).setSelected(false);
}
}
notifyDataSetChanged();
}
});
}
@Override
public int getItemCount() {
return cartlist.size();
}
public class CartViewHolder extends RecyclerView.ViewHolder {
private final CheckBox checkBox;
private final TextView nameTv;
private final RecyclerView productXRV;
public CartViewHolder(View itemView) {
super(itemView);
checkBox = itemView.findViewById(R.id.sellerCheckbox);
nameTv = itemView.findViewById(R.id.sellerNameTv);
productXRV = itemView.findViewById(R.id.productXRV);
}
}
}
//cart-bottom-layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<CheckBox
android:id="@+id/sellerCheckbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/sellerNameTv"
android:text="商家"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#999999"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/productXRV"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
//productAdapter
package com.bwie.yuekao.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
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.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bwie.yuekao.R;
import com.bwie.yuekao.bean.CartBean;
import com.bwie.yuekao.wight.MyJIaJianView;
import java.util.List;
public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.CartViewHolder> {
private Context mContext;
private List<CartBean.DataBean.ListBean> listBeanList;
public ProductAdapter(Context mContext, List<CartBean.DataBean.ListBean> listBeanList) {
this.mContext = mContext;
this.listBeanList = listBeanList;
}
@NonNull
@Override
public ProductAdapter.CartViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.product_item_layout, parent, false);
CartViewHolder cartViewHolder = new CartViewHolder(itemView);
return cartViewHolder;
}
@Override
public void onBindViewHolder(@NonNull ProductAdapter.CartViewHolder holder, int position) {
CartBean.DataBean.ListBean bean = listBeanList.get(position);
holder.priceTv.setText("优惠价:¥" + bean.getBargainPrice());
holder.titleTv.setText(bean.getTitle());
holder.checkBox.setChecked(bean.isSelected());
String [] imgs =bean.getImages().split("\\|");
if (imgs!=null && imgs.length>0){
Glide.with(mContext).load(imgs[0]).into(holder.productTv);
}else{
}
}
@Override
public int getItemCount() {
return listBeanList.size();
}
public class CartViewHolder extends RecyclerView.ViewHolder {
private final CheckBox checkBox;
private final TextView titleTv;
private final TextView priceTv;
private final MyJIaJianView myJIaJianView;
private final ImageView productTv;
public CartViewHolder(View itemView) {
super(itemView);
checkBox = itemView.findViewById(R.id.productCheckbox);
titleTv = itemView.findViewById(R.id.title);
priceTv = itemView.findViewById(R.id.price);
productTv = itemView.findViewById(R.id.product_icon);
myJIaJianView = itemView.findViewById(R.id.jiajianqi);
}
}
}
//product-item-layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal">
<CheckBox
android:id="@+id/productCheckbox"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:src="@mipmap/ic_launcher"
android:id="@+id/product_icon"
android:layout_width="80dp"
android:layout_height="80dp"/>
</LinearLayout>
<LinearLayout
android:layout_marginLeft="10dp"
android:layout_width="match_parent"
android:layout_gravity="center"
android:layout_height="wrap_content" android:orientation="vertical">
<TextView
android:id="@+id/title"
android:text="商品标题"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RelativeLayout
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/price"
android:layout_alignParentLeft="true"
android:text="优惠价:¥99.99"
android:textColor="@android:color/holo_red_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.bwie.yuekao.wight.MyJIaJianView
android:id="@+id/jiajianqi"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
></com.bwie.yuekao.wight.MyJIaJianView>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#999999"/>
</LinearLayout>