二级列表 ExpandableListView

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

猜你喜欢

转载自blog.csdn.net/shitou0/article/details/79790966