布局 <ExpandableListView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="8" android:id="@+id/expan" ></ExpandableListView>
导入适配器 myada = new Mainmyada(data,getActivity()); expan.setAdapter(myada)
package com.example.gouwuchexiaoer.mainmvp.mainmyada; 适配器 import android.annotation.SuppressLint; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.CheckBox; import android.widget.TextView; import android.widget.Toast; import com.example.gouwuchexiaoer.R; import com.example.gouwuchexiaoer.bean.ZhanShiShuJu; import com.example.gouwuchexiaoer.okhttp.Okhttp; import com.example.gouwuchexiaoer.util.mya; import com.facebook.drawee.view.SimpleDraweeView; import java.util.List; /** * */ public class Mainmyada extends BaseExpandableListAdapter{ List<ZhanShiShuJu.DataBean> data;Context context; private String url=""; public Mainmyada(List<ZhanShiShuJu.DataBean> data, Context context) { this.data=data; this.context=context; } @Override public int getGroupCount() { return data.size(); } @Override public int getChildrenCount(int i) { return data.get(i).getList().size(); } @Override public Object getGroup(int i) { return data.get(i); } @Override public Object getChild(int i, int i1) { return data.get(i).getList().get(i1); } @Override public long getGroupId(int i) { return i; } @Override public long getChildId(int i, int i1) { return i1; } @Override public boolean hasStableIds() { return true; } @Override public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) { GroupViewHolder groupViewHolder; //优化 if(view==null){ view=View.inflate (context, R.layout.layout,null); groupViewHolder=new GroupViewHolder (); groupViewHolder.gcheckBox = view.findViewById (R.id.group_box); groupViewHolder.gtextview= view.findViewById (R.id.group_text); view.setTag (groupViewHolder); }else{ groupViewHolder= (GroupViewHolder) view.getTag (); } groupViewHolder.gtextview.setText (data.get (i).getSellerName ()); //1 int qq = 0; for (int j = 0; j < data.get(i).getList().size(); j++) { qq += data.get(i).getList().get(j).getSelected(); } if (qq == data.get(i).getList().size()) { for (int j = 0; j < data.get(i).getList().size(); j++) { groupViewHolder.gcheckBox.setChecked(true); notifyDataSetChanged(); } } else { for (int j = 0; j < data.get(i).getList().size(); j++) { groupViewHolder.gcheckBox.setChecked(false); notifyDataSetChanged(); } } groupViewHolder.gcheckBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //2 int qq = 0; for (int j = 0; j < data.get(i).getList().size(); j++) { qq += data.get(i).getList().get(j).getSelected(); } if (qq == data.get(i).getList().size()) { for (int j = 0; j < data.get(i).getList().size(); j++) { data.get(i).getList().get(j).setSelected(0); notifyDataSetChanged(); } } else { for (int j = 0; j < data.get(i).getList().size(); j++) { data.get(i).getList().get(j).setSelected(1); notifyDataSetChanged(); } } } }); return view; } @SuppressLint("WrongViewCast") @Override public View getChildView(final int i, final int i1, boolean b, View view, ViewGroup viewGroup) { ChildViewHolder childViewHolder; //优化 if(view==null){ view=View.inflate (context,R.layout.layout2,null); childViewHolder=new ChildViewHolder (); childViewHolder.ccheckBox=view.findViewById (R.id.child_box); childViewHolder.ctextview=view.findViewById (R.id.child_text); childViewHolder.cprice=view.findViewById (R.id.child_price); childViewHolder.csimpleDraweeView=view.findViewById(R.id.child_image); childViewHolder.mya=view.findViewById(R.id.mya); view.setTag (childViewHolder); }else{ childViewHolder= (ChildViewHolder) view.getTag (); } childViewHolder.ctextview.setText (data.get (i).getList ().get (i1).getTitle ()); String images = data.get (i).getList ().get (i1).getImages (); String[] split = images.split ("\\|"); childViewHolder.csimpleDraweeView.setImageURI (split[0]); childViewHolder.cprice.setText (data.get (i).getList ().get (i1).getPrice ()*data.get(i).getList().get(i1).getNum()+""); childViewHolder.mya.setv(data.get(i).getList().get(i1).getNum()); childViewHolder.mya.setzhuan(new mya.Zhuan() { @Override public void zhuanshu(int shu01) { int selected = data.get(i).getList().get(i1).getSelected(); int sellerid = data.get(i).getList().get(i1).getSellerid(); int pid = data.get(i).getList().get(i1).getPid(); Toast.makeText(context,shu01+"",Toast.LENGTH_SHORT).show(); url="https://www.zhaoapi.cn/product/updateCarts?uid=10507&sellerid="+sellerid+"&pid="+pid+"&selected="+selected+"&num="+shu01; Okhttp okhttp = new Okhttp(); okhttp.say(url, new Okhttp.fun1() { @Override public void onres(String string) { Toast.makeText(context,string,Toast.LENGTH_SHORT).show(); notifyDataSetChanged(); } }); } }); if (data.get(i).getList().get(i1).getSelected()==0) { childViewHolder.ccheckBox.setChecked(false); }else { childViewHolder.ccheckBox.setChecked(true); } childViewHolder.ccheckBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (data.get(i).getList().get(i1).getSelected()==0) { data.get(i).getList().get(i1).setSelected(1); Toast.makeText(context, data.get(i).getList().get(i1).getSelected() + "", Toast.LENGTH_SHORT).show(); notifyDataSetChanged(); }else { data.get(i).getList().get(i1).setSelected(0); Toast.makeText(context, data.get(i).getList().get(i1).getSelected() + "", Toast.LENGTH_SHORT).show(); notifyDataSetChanged(); } } }); return view; } @Override public boolean isChildSelectable(int i, int i1) { return true; } //组的寄存器 class GroupViewHolder{ CheckBox gcheckBox; TextView gtextview; } //子条目的寄存器 class ChildViewHolder{ CheckBox ccheckBox; TextView ctextview,cprice; SimpleDraweeView csimpleDraweeView; mya mya; } }