一.xml布局
<ExpandableListView
android:id="@+id/expand_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
></ExpandableListView>
二. 写适配器 注意 继承 BaseExpandableListAdapter
public class GouWuChe_Adapter extends BaseExpandableListAdapter {
Context context;
List<GouWuChe_Bean.DataBean> gouwuche_list;
public GouWuChe_Adapter(Context context, List<GouWuChe_Bean.DataBean> gouwuche_list) {
this.context = context;
this.gouwuche_list = gouwuche_list;
}
//集合的长度
@Override
public int getGroupCount() {
return gouwuche_list.size();
}
//孩子集合的 长度
@Override
public int getChildrenCount(int i) {
return gouwuche_list.get(i).getList().size();
}
//获取 父 分组对象
@Override
public Object getGroup(int i) {
return gouwuche_list.get(i);
}
//获取 子 分组对象
@Override
public Object getChild(int i, int i1) {
return gouwuche_list.get(i).getList().get(i1);
}
//父分组 的 id
@Override
public long getGroupId(int i) {
return i;
}
//子 分组 的 id
@Override
public long getChildId(int i, int i1) {
return i1;
}
@Override
public boolean hasStableIds() {
return true;
}
//父类
@Override
public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
// 进行优化
viewHolder viewHolder;
if (view == null) {
viewHolder = new viewHolder();
view = View.inflate(context, R.layout.gouwuche_fulei_item, null);
viewHolder.gouwuche_fulei_checkBox = view.findViewById(R.id.gouwuche_fulei_checkBox);
view.setTag(viewHolder);
}else {
viewHolder = (viewHolder) view.getTag();
}
return view;
}
//子类
@Override
public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {
zi_viewHolder zi_viewHolder;
// 进行优化
if (view == null) {
zi_viewHolder = new zi_viewHolder();
view = View.inflate(context, R.layout.gouwuche_zilei_item, null);
zi_viewHolder.gouwuche_zi_checkBox = view.findViewById(R.id.gouwuche_zi_checkBox);
zi_viewHolder.gouwuche_zi_image = view.findViewById(R.id.gouwuche_zi_image);
zi_viewHolder.gouwuche_zi_name = view.findViewById(R.id.gouwuche_zi_name);
zi_viewHolder.gouwuche_zi_price = view.findViewById(R.id.gouwuche_zi_price);
view.setTag(zi_viewHolder);
} else {
zi_viewHolder = (zi_viewHolder) view.getTag();
}
/* String[] split = gouwuche_list.get(i).getList().get(i1).split("\\|");
Glide.with(context).load(split[0]).into(zi_viewHolder.gouwuche_zi_image);
zi_viewHolder*/
String s = gouwuche_list.get(i).getList().get(i1).getImages().split("\\|")[0];
Glide.with(context).load(s).into(zi_viewHolder.gouwuche_zi_image);
zi_viewHolder.gouwuche_zi_name.setText(gouwuche_list.get(i).getList().get(i1).getTitle());
zi_viewHolder.gouwuche_zi_price.setText(gouwuche_list.get(i).getList().get(i1).getPrice()+"");
return view;
}
@Override
public boolean isChildSelectable(int i, int i1) {
return false;
}
// 父类
public class viewHolder {
CheckBox gouwuche_fulei_checkBox;
}
// 子类
public class zi_viewHolder {
CheckBox gouwuche_zi_checkBox;
ImageView gouwuche_zi_image;
TextView gouwuche_zi_name;
TextView gouwuche_zi_price;
}
}
三.注意 在主方法 记得让 设置默认展示
// 实例化 适配器
GouWuChe_Adapter gouWuChe_adapter = new GouWuChe_Adapter(getActivity(), gouwuche_listview);
expandListview.setAdapter(gouWuChe_adapter);
// 设置默认展示出来
int groupCount = expandListview.getCount();
for (int i=0; i<groupCount; i++) {
expandListview.expandGroup(i);
};