一.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);
};