[ExpandableListView]---3 小结和练习

1、 添加数据

添加Group数据 String GroupName
添加child数据 GroupId,String childName
布局里面的其他数据相应的设置值就可以了

–数组存储数据:只能在固定数据的大小的情况下进行数据的更新,只能对数据的值进行修改。
List等存储数据:List属于可扩展的数据类型,可以对ExpandableList数据进行,添加、删除、对数据的值进行修改。

2、 如何使列表只展开一列

设置所有的组中只能展开一列

//设置只展开一组
elv.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
    @Override
    public void onGroupExpand(int groupPosition) {
        int count = elv.getExpandableListAdapter().getGroupCount();
        for(int j = 0; j < count; j++){
            if(j != groupPosition){
                elv.collapseGroup(j);
            }
        }
    }
});

3、 更新数据

更新数据:对存储空间的数据进行修改之后,使用

adapter.notifyDataSetChanged();

更新adapater中的数据

Demo:使用List存储数据,点击按钮能够进行添加组(空组)
空组的子项处理:
在getChildView()方法和getChildViewCount中加入判断
if (child.size() > groupPosition && child.get(groupPosition) != null) {}
不符合条件的基础上分别返回null和0

demo练习

demo介绍:
ExpandableListView,通过按钮新增组,长按组(选择功能 重命名或删除组)

demo效果:

demo下载地址:
http://download.csdn.net/detail/u012391876/9609852

你可能感兴趣的:(分组,控件效果)