一级适配器
package bw.com.shopcartej;
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.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.List;
ic class ShopcartAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
//加减器回调 ----------------------------------------------------------------------------------------------------------
public interface OnJiaJianLisenter{
void onJiaJian();
}
private OnJiaJianLisenter jiaJianLisenter;
public void setOnJiaJianLisenter (OnJiaJianLisenter jiaJianLisenter){
this.jiaJianLisenter=jiaJianLisenter;
}
//二级回调 ---------------------------------------------------------------------------------------------------------------
public interface OnErjiLisenter{
void onErji(ShopcartJson shopcartJson);
}
private OnErjiLisenter erjiLisenter;
public void setOnErjiLisenter(OnErjiLisenter erjiLisenter){
this.erjiLisenter=erjiLisenter;
}
//一级回调 ----------------------------------------------------------------------------------------------------------------------------
public interface OnYijiLisenter{
void onYiji(ShopcartJson shopcartJson);
}
private OnYijiLisenter yijiLisenter;
public void setOnYijiLisenter(OnYijiLisenter yijiLisenter){
this.yijiLisenter=yijiLisenter;
}
Context context;
ShopcartJson shopcartJson;
public ShopcartAdapter(Context context, ShopcartJson shopcartJson) {
this.context=context;
this.shopcartJson=shopcartJson;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LinearLayout.inflate(context,R.layout.item01,null);
ViewHolder viewHolder=new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
ViewHolder viewHolder1= (ViewHolder) viewHolder;
viewHolder1.ck.setOnCheckedChangeListener(null);
List<ShopcartData> data = shopcartJson.getData();
final ShopcartData shopcartData = data.get(i);
String sellerName = shopcartData.getSellerName();
List<ShopcartDataa> list = shopcartData.getList();
//设置值
viewHolder1.name.setText(sellerName);
viewHolder1.ck.setChecked(shopcartData.isChecked());
//布局管理器
LinearLayoutManager layoutManager = new LinearLayoutManager(context);
viewHolder1.rlv.setLayoutManager(layoutManager);
//适配器
Shopcart2Adapter shopcart2Adapter = new Shopcart2Adapter(context,list);
viewHolder1.rlv.setAdapter(shopcart2Adapter);
//适配器回调加减器
shopcart2Adapter.setOnJiaJianLisenter(new Shopcart2Adapter.OnJiaJianLisenter() {
@Override
public void onJiaJian() {
//加减器再回调
if (jiaJianLisenter!=null){
jiaJianLisenter.onJiaJian();
}
}
});
//适配器回调价格(选中回调)
shopcart2Adapter.setOnCheckedLisenter(new Shopcart2Adapter.OnCheckedLisenter() {
@Override
public void onChecked() {
//二级回调
if (erjiLisenter!=null){
erjiLisenter.onErji(shopcartJson);
}
}
});
//一级回调 也是就选中状态回调
viewHolder1.ck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
shopcartData.setChecked(isChecked);
if (yijiLisenter!=null){
yijiLisenter.onYiji(shopcartJson);
}
}
});
}
@Override
public int getItemCount() {
return shopcartJson.getData().size();
}
private class ViewHolder extends RecyclerView.ViewHolder{
private final TextView name;
private final RecyclerView rlv;
private final CheckBox ck;
public ViewHolder(@NonNull View itemView) {
super(itemView);
name = itemView.findViewById(R.id.item01_name);
rlv = itemView.findViewById(R.id.item01_rlv);
ck = itemView.findViewById(R.id.item01_ck);
}
}
}
二级适配器
package bw.com.shopcartej;
import android.content.Context;
import android.net.Uri;
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.LinearLayout;
import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
ic class Shopcart2Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
//加减器回调
public interface OnJiaJianLisenter{
void onJiaJian();
}
private OnJiaJianLisenter jiaJianLisenter;
public void setOnJiaJianLisenter(OnJiaJianLisenter jiaJianLisenter){
this.jiaJianLisenter=jiaJianLisenter;
}
//价钱回调(也就是选中状态回调)
public interface OnCheckedLisenter{
void onChecked();
}
private OnCheckedLisenter checkedLisenter;
public void setOnCheckedLisenter(OnCheckedLisenter checkedLisenter){
this.checkedLisenter=checkedLisenter;
}
Context context;
List<ShopcartDataa> list;
public Shopcart2Adapter(Context context, List<ShopcartDataa> list) {
this.context=context;
this.list=list;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LinearLayout.inflate(context,R.layout.item02,null);
ViewHolder viewHolder=new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
ViewHolder viewHolder1= (ViewHolder) viewHolder;
final ShopcartDataa shopcartDataa = list.get(i);
String images = shopcartDataa.getImages();
double price = shopcartDataa.getPrice();
String title = shopcartDataa.getTitle();
viewHolder1.img.setImageURI(Uri.parse(images));
viewHolder1.name.setText(title);
viewHolder1.price.setText(price+"");
viewHolder1.cs.send(list,i,this);
viewHolder1.ck.setChecked(shopcartDataa.isChecked());
viewHolder1.cs.setOnAddAndDeleteLisenter(new Custom_JiaJian.OnAddAndDeleteLisenter() {
@Override
public void onAdd() {
//加减器回调
if (jiaJianLisenter!=null){
jiaJianLisenter.onJiaJian();
}
}
});
//价钱回调(选中状态回调)
viewHolder1.ck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
shopcartDataa.setChecked(isChecked);
if (checkedLisenter!=null){
checkedLisenter.onChecked();
}
}
});
}
@Override
public int getItemCount() {
return list.size();
}
private class ViewHolder extends RecyclerView.ViewHolder{
private final SimpleDraweeView img;
private final TextView name;
private final TextView price;
private final Custom_JiaJian cs;
private final CheckBox ck;
public ViewHolder(@NonNull View itemView) {
super(itemView);
img = itemView.findViewById(R.id.item02_img);
name = itemView.findViewById(R.id.item02_name);
price = itemView.findViewById(R.id.item02_price);
cs = itemView.findViewById(R.id.cs);
ck = itemView.findViewById(R.id.item02_ck);
}
}
}