ExpandableListView详解

文章目录

  • 效果图
  • ExpandableListView的简介与使用
  • 去掉ExpandableListView的箭头以及自定义Indicator
  • 解决setOnChildClickListener失效问题
  • 解决collapseGroup(i)崩溃问题
  • 解决group_item.xml中包含CheckBox、EditText等,点击不能展开的问题

1.效果图
这里写图片描述


2.ExpandableListView的简介与使用
ExpandableListVivew是ListView的子类,它在普通ListView的基础上进行了扩展,它把应用中的列表项分为几组,每组里 又可包含多个列表项。ExpandableListVivew的用法与普通ListView的用法非常相似,只是ExpandableListVivew 显示的列表项应该由ExpandableAdapter提供。

  • 重要方法
//在分组列表中展开指定组(若想全部展开,循环分组列表再调用此方法)
expandGroup (int groupPos) ;
//在分组列表中关闭指定组(若想全部展开,循环分组列表再调用此方法)
collapseGroup(int groupPos);
//设置选择指定的组
setSelectedGroup (int groupPosition) ;
//设置选择指定的子项
setSelectedChild (int groupPosition, int childPosition, boolean shouldExpandGroup);
//返回所选择的组
getPackedPositionGroup (long packedPosition);
//返回所选择的子项
getPackedPositionForChild (int groupPosition, int childPosition) ;
//返回所选择项的类型(Child/Group)
getPackedPositionType (long packedPosition);
//判断此组是否展开
isGroupExpanded (int groupPosition);
  • 使用步骤

1.在布局文件中引用ExpandableListView

<ExpandableListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:childDivider="#cccccc"
        android:divider="#cccccc"
        android:dividerHeight="1px"
        />

2.初始化与装配数据

public class MainActivity extends AppCompatActivity {
   

    private ExpandableListView listview;
    private AMapAdapter adapter;
    //先创建,防止NullPointExcaption
    private ArrayList<Group> groups = new ArrayList<>();
    String[] groupStrs = {
  "广东省","湖南省","湖北省","江苏省","云南省","海南省"};
    String[] guangdong = {
  "深圳市","广州市","佛山市","东莞市","韶关市"};
    String[] hunan = {
  "长沙市","株洲市","衡阳市",
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值