亲爱的网友,你能搜到本文中,说明您很希望了解这个问题,以下内容就是我们收集整理的相关资料,希望该答案能满足您的要求
1、ExpandableListView: ExpandableListView 是继承自ListView的一个ViewGroup,用它可以把一个ListView变成一个可以折叠展开的列表,它也被称为可展开列表,它使用类似树形结构的方式在屏幕上显示多个列表项,你可以按照自己的需求,让它有层级关系和组别,当然还可以让其有动态展开和折叠功能,非常适合创建菜单等界面类型。
2、功能介绍: ExpandableListView 包含一个列表,它可以把Payloads设置为子元素的列表,然后根据设置的属性让ExpandableListView来折叠或展开特定的二级或多级元素,它提供了一个逻辑式的层次结构,这使得用户能够更容易查看复杂的信息,使整个界面看起来整洁而不是眼花缭乱。ExpandableListView可以被用来做文件夹的方式管理字段分组,也可以被用来实现菜单。
3、应用场景: 在Android APP的开发中,ExpandableListView 经常被选择作为用户需要点击展开和折叠的内容管理器,常见的应用场景有配置文件的树形管理,菜单的集合管理,用户实现按类别分组和筛选的功能等等。
4、属性介绍:ExpandableListView有很多属性,比如collapsible,这个属性是用来控制ListView是否可以展开和折叠,还有 childDivider,用来控制每一级ListView子项之间的间隔线,还有dividerHeight 属性,它可以用来控制每一级ListView子项与下一级ListView子项之间的间隔距离,还有indicatorRight等属性,用来控制展开折叠指示器的位置等等。
5、典型代码:
ExpandableListView属于android.widget包,使用它之前,可以在 AndroidManifest.xml 文件里加入如下声明:
在布局文件里,如下:
android:id=\"@+id/expandablelistview\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:childIndicatorRight=\"@drawable/ic_expandable_list_indicator\" android:groupIndicator=\"@drawable/ic_expandable_list_indicator\" android:indicatorRight=\"@drawable/ic_expandable_list_indicator\" /> 在Activity里,其中 parentList 是父项数据,子项数据为 childList: ExpandableListView mExpandableListView = findViewById(R.id.expandablelistview); // 根据列表数据初始化Adapter ExpandableListViewAdapter mAdapter = new ExpandableListViewAdapter(parentList,childList); // 设置Adapter mExpandableListView.setAdapter(mAdapter); // 设置Item点击事件 mExpandableListView.setOnChildclickListener(new OnChildClickListener(){ @Override public void onChildClick(ExpandableListView parent, View v, int groupPosition,int childPosition,long id){ // 对子项进行操作 // TODO } 1、expandablelistview简介:expandablelistview是android中比较常用的ListView之一,它可以将数据以分组树形结构展开,支持一级和二级分组,每组支持一个子标题和多个子项,具有复选框和单选框功能等特点。 2、expandablelistview结构:expandablelistview的结构是一个expandablelistadapter,它的两个强大的方法在它内部构建了数据的树形结构: getGroupCount():返回分组总数; getChildrenCount(int groupPosition):返回指定组中的子项总数; getGroupView:返回分组的视图,通常为一个TextView; getChildView:返回ChildView,也就是子项的视图,通常是一个ListView。 3、expandablelistview的实现步骤: (1)创建布局文件,设置一个expandablelistview; (2)创建数据源; (3)自定义一个expandableListAdapter并复写它的六个方法: (a)getGroupCount():返回分组总数; (b)getChildrenCount(int groupPosition):返回指定组中的子项总数; (c)getGroupView:返回分组的视图,通常为一个TextView; (d)getChildView:返回ChildView,也就是子项的视图,通常是一个ListView; (e)isChildSelectable:判断子分组是否可选择; (f)hasStableIds:判断每个组成员是否有唯一的标示。 (4)给expandablelistview设置adapter。 (5)expandablelistview的一些回调监听事件,如onGroupExpanded(),onChildClick(),onGroupCollapsed()等。 4、expandablelistview的应用: expandablelistview可以用于常见的两级树分类展示,如商品类型、订单列表、联系人等,特别是在做联系人通信录时,它可以按照字母排序做按首字母来分组,用一个expandablelistview就可以做到,节省编程的时间成本。它同时也可以用于日历或者图书、电影分类项目中,如在网站开发中有些地方使用很多,可以减少很多不必要的编程工作。
android:id=\"@+id/expandablelistview\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\"
android:childIndicatorRight=\"@drawable/ic_expandable_list_indicator\"
android:groupIndicator=\"@drawable/ic_expandable_list_indicator\"
android:indicatorRight=\"@drawable/ic_expandable_list_indicator\" />
在Activity里,其中 parentList 是父项数据,子项数据为 childList:
ExpandableListView mExpandableListView = findViewById(R.id.expandablelistview);
// 根据列表数据初始化Adapter
ExpandableListViewAdapter mAdapter = new ExpandableListViewAdapter(parentList,childList);
// 设置Adapter
mExpandableListView.setAdapter(mAdapter);
// 设置Item点击事件
mExpandableListView.setOnChildclickListener(new OnChildClickListener(){
@Override
public void onChildClick(ExpandableListView parent, View v,
int groupPosition,int childPosition,long id){
// 对子项进行操作
// TODO
}
1、expandablelistview简介:expandablelistview是android中比较常用的ListView之一,它可以将数据以分组树形结构展开,支持一级和二级分组,每组支持一个子标题和多个子项,具有复选框和单选框功能等特点。
2、expandablelistview结构:expandablelistview的结构是一个expandablelistadapter,它的两个强大的方法在它内部构建了数据的树形结构:
getGroupCount():返回分组总数;
getChildrenCount(int groupPosition):返回指定组中的子项总数;
getGroupView:返回分组的视图,通常为一个TextView;
getChildView:返回ChildView,也就是子项的视图,通常是一个ListView。
3、expandablelistview的实现步骤:
(1)创建布局文件,设置一个expandablelistview;
(2)创建数据源;
(3)自定义一个expandableListAdapter并复写它的六个方法:
(a)getGroupCount():返回分组总数;
(b)getChildrenCount(int groupPosition):返回指定组中的子项总数;
(c)getGroupView:返回分组的视图,通常为一个TextView;
(d)getChildView:返回ChildView,也就是子项的视图,通常是一个ListView;
(e)isChildSelectable:判断子分组是否可选择;
(f)hasStableIds:判断每个组成员是否有唯一的标示。
(4)给expandablelistview设置adapter。
(5)expandablelistview的一些回调监听事件,如onGroupExpanded(),onChildClick(),onGroupCollapsed()等。
4、expandablelistview的应用:
expandablelistview可以用于常见的两级树分类展示,如商品类型、订单列表、联系人等,特别是在做联系人通信录时,它可以按照字母排序做按首字母来分组,用一个expandablelistview就可以做到,节省编程的时间成本。它同时也可以用于日历或者图书、电影分类项目中,如在网站开发中有些地方使用很多,可以减少很多不必要的编程工作。
不知这篇文章是否帮您解答了与标题相关的疑惑,如果您对本篇文章满意,请劳驾您在文章结尾点击“顶一下”,以示对该文章的肯定,如果您不满意,则也请“踩一下”,以便督促我们改进该篇文章。如果您想更进步了解相关内容,可查看文章下方的相关链接,那里很可能有你想要的内容。最后,感谢客官老爷的御览