android 扩展列表ExpandableListView的详解和使用

我先自来熟的唠嗑几句,终于大学毕业了,博客开通不久,遇到一些好的东西想分享出来,以后在项目中使用或者遇到的问题,我也会分享在博客里,既是对自己技术的一个记录总结,也希望有更多的IT大牛指点指点,或者爱技术的朋友一起讨论讨论。闲话不多说,切入正题。
1.认识expandablelistview和它的adapter
这里写图片描述
先看图,我想很多刚接触安卓这个行业的,有时候会遇到图上的这种需求,拿到这种图,很多时候我们都是考虑用listview去写,用type标签的去判断哪一块显示什么,这里给大家介绍下expandablelistview实现这样一个界面的方便之处。
首先我们来认识一下,expandablelistview又名扩展列表,顾名思义就是拥有可扩展的子级列表,允许有父级标签,外加自己子级的内容。其实它就相当于两个listview的嵌套,说白了就是listview扩展来的。
认识了expandablelistview后,我们就知道它是有父级和子级列表,所以很自然的想到,添加内容进去肯定需要一个父级的集合,和子级集合。所以就可以先定义两个list集合:

 private List<String> groupArray;//定义父级列表
 private List<List<String>> itemArray;//定义子列表

接下来我们去认识expandablelistview的adapter
要将数据展示出来,或者进行个性化的定制是离不开BaseExpandableListAdapter这个adapter的,那么我们先了解一下这个adapter到底有哪些属性。

  @Override
    public int getGroupCount() {
        return groupArray.size();
    }

    @Override
    public int getChildrenCount(int i) {
        return itemArray.get(i).size();
    }

    @Override
    public Object getGroup(int i) {
        return getGroup(i);
    }

    @Override
    public Object getChild(int i, int i1) {
        return itemArray.get(i).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 false;
    }

    @Override
    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
        view = View.inflate(context, R.layout.item_lte_relate_group,null);
        GroupHolder holder = new GroupHolder(view);
        holder.tvGroup.setText(groupArray.get(i));
        return view;
    }

    @Override
    public View getChildView(i
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值