Add_VIew
package com.example.huangshuaimonth1.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.huangshuaimonth1.R;
public class Add_Show extends LinearLayout {
private TextView jia,jian;
private EditText edit_num;
private int num=1;
public Add_Show(Context context) {
super(context);
}
public Add_Show(Context context, AttributeSet attrs) {
super(context, attrs);
View view=LayoutInflater.from(context).inflate(R.layout.linear3,this);
jia=view.findViewById(R.id.add);
jian=view.findViewById(R.id.minus);
edit_num=view.findViewById(R.id.et_num);
edit_num.setText("1");
jian.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num--;
if (num==0){
num=1;
}else{
edit_num.setText(num+"");
if (addminusCallback!=null) {
addminusCallback.addcallback(num);
}
}
}
});
jia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num++;
edit_num.setText(num+"");
if (addminusCallback!=null) {
addminusCallback.addcallback(num);
}
}
});
}
public Add_Show(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setEd_num(int num){
edit_num.setText(num+"");
}
public AddminusCallback addminusCallback;
public void setAddminusCallback(AddminusCallback addminusCallback) {
this.addminusCallback = addminusCallback;
}
public interface AddminusCallback{
void addcallback(int num);
}
}
CartyijiCallback
void notifyCart();
CarterjiCallback
void notifyCartItem(boolean isChecked, int postion);
void notifyNum();
WaiAdapter
public class WaiAdapter extends XRecyclerView.Adapter<WaiAdapter.ViewHolder>implements CarterjiCallback {
private Context context;
private List<GouBean.DataBean> list;
public WaiAdapter(Context context) {
this.context = context;
list=new ArrayList<>();
}
public void setList(List<GouBean.DataBean> list) {
this.list = list;
notifyDataSetChanged();
}
private CartyijiCallback cartyijiCallback;
public void setCartyijiCallback(CartyijiCallback cartyijiCallback) {
this.cartyijiCallback = cartyijiCallback;
}
@NonNull
@Override
public WaiAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LayoutInflater.from(context).inflate(R.layout.activity_one,viewGroup,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final WaiAdapter.ViewHolder viewHolder, final int i) {
GouBean.DataBean dataBean = list.get(i);
viewHolder.checkbox_linear1.setChecked(dataBean.ischecked);
viewHolder.name_id.setText(dataBean.getSellerName());
viewHolder.xrec_two.setLayoutManager(new LinearLayoutManager(context));
final NeiAdapter neiAdapter = new NeiAdapter(context, list, i);
neiAdapter.setCarterjiCallback(this);
viewHolder.xrec_two.setAdapter(neiAdapter);
neiAdapter.setList(list);
viewHolder.checkbox_linear1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
list.get(i).ischecked = viewHolder.checkbox_linear1.isChecked();
for (GouBean.DataBean.ListBean listBean:list.get(i).getList()){
listBean.poudctchecked=list.get(i).ischecked;
}
notifyDataSetChanged();
if (cartyijiCallback!=null){
cartyijiCallback.notifyCart();
}
}
});
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void notifyCartItem(boolean isChecked, int postion) {
list.get(postion).ischecked=isChecked;
notifyDataSetChanged();
if (cartyijiCallback!=null){
cartyijiCallback.notifyCart();
}
}
@Override
public void notifyNum() {
if (cartyijiCallback!=null){
cartyijiCallback.notifyCart();
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
private CheckBox checkbox_linear1;
private TextView name_id;
private XRecyclerView xrec_two;
public ViewHolder(@NonNull View itemView) {
super(itemView);
checkbox_linear1=itemView.findViewById(R.id.checkbox_linear1);
name_id=itemView.findViewById(R.id.name_id);
xrec_two=itemView.findViewById(R.id.xrec_two);
}
}
public List<GouBean.DataBean> setList(){
return list;
}
}
netAdpater
public class NeiAdapter extends XRecyclerView.Adapter<NeiAdapter.ViewHolder> {
private Context context;
private List<GouBean.DataBean> list;
private int a;
public NeiAdapter(Context context, List<GouBean.DataBean> list, int a) {
this.context = context;
this.list = list;
this.a = a;
}
public void setList(List<GouBean.DataBean> list) {
this.list = list;
notifyDataSetChanged();
}
private CarterjiCallback carterjiCallback;
public void setCarterjiCallback(CarterjiCallback carterjiCallback) {
this.carterjiCallback = carterjiCallback;
}
@NonNull
@Override
public NeiAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LayoutInflater.from(context).inflate(R.layout.activity_two,viewGroup,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final NeiAdapter.ViewHolder viewHolder, final int i) {
final List<GouBean.DataBean.ListBean> list = this.list.get(a).getList();
viewHolder.checkbox_linear2.setChecked(list.get(i).poudctchecked);
viewHolder.name1.setText(list.get(i).title);
viewHolder.price.setText(list.get(i).price+"");
viewHolder.image.setImageURI(Uri.parse(list.get(i).images));
viewHolder.Add_Show.setEd_num(list.get(i).shuliang);
viewHolder.Add_Show.setAddminusCallback(new Add_Show.AddminusCallback() {
@Override
public void addcallback(int num) {
list.get(i).shuliang=num;
if (carterjiCallback!=null){
carterjiCallback.notifyNum();
}
}
});
viewHolder.checkbox_linear2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!viewHolder.checkbox_linear2.isChecked()){
list.get(i).poudctchecked=false;
if (carterjiCallback!=null){
carterjiCallback.notifyCartItem(false,list.get(i).shuliang);
}
}else {
list.get(i).poudctchecked=true;
for (GouBean.DataBean.ListBean listBean : list) {
if (!listBean.poudctchecked){
if (carterjiCallback!=null){
carterjiCallback.notifyCartItem(false,list.get(i).shuliang);
}
break;
}
if (carterjiCallback!=null){
carterjiCallback.notifyCartItem(true,list.get(i).shuliang);
}
}
}
}
});
}
@Override
public int getItemCount() {
return list.get(a).getList().size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView name1;
private CheckBox checkbox_linear2;
private ImageView image;
private TextView price;
private com.example.huangshuaimonth1.view.Add_Show Add_Show;
public ViewHolder(@NonNull View itemView) {
super(itemView);
name1=itemView.findViewById(R.id.name1);
checkbox_linear2=itemView.findViewById(R.id.checkbox_linear2);
image=itemView.findViewById(R.id.image);
price=itemView.findViewById(R.id.price);
Add_Show=itemView.findViewById(R.id.Add_Show);
}
}
View
@Override
public void GouSuccess(Object result) {
GouBean gouBean=(GouBean) result;
waiAdapter = new WaiAdapter(getActivity());
xrecOne.setAdapter(waiAdapter);
waiAdapter.setCartyijiCallback(this);
List<GouBean.DataBean> data = gouBean.getData();
waiAdapter.setList(data);
}