1.listView分割线颜色
android:childDivider="@color/divide_line"//对ExpandableListView试用
android:divider="@color/divide_line"
2.控制ExpandableListView展开和关闭
2013年12月5日 工作记录
我们在使用ExpandableListView可能会遇到各种问题,比如说只展开一个组,关闭其他组;默认展开第一组;我自己试了一下,下面的方法可以控制单个组的展开和伸缩,也可以控制展开当前点击的组,关闭其他展开的组。希望对开发遇到这种问题的童鞋有用吧。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
onlineUsersListView
.setOnGroupExpandListener(
new
OnGroupExpandListener() {
@Override
public
void
onGroupExpand(
int
groupPosition) {
for
(
int
i =
0
, count = onlineUsersListView
.getExpandableListAdapter().getGroupCount(); i < count; i++) {
if
(groupPosition != i) {
// 关闭其他分组
onlineUsersListView.collapseGroup(i);
}
}
}
});
|
默认展开第一个分组:
1
2
|
// 展开第一组
onlineUsersListView.expandGroup(
0
);
|
3.ExpandableListView箭头右边显示方法
1首先 ExpandableListView elistview;
elistview.setGroupIndicator(null);//将控件默认的左边箭头去掉,
2在 自定义的继承自BaseExpandableListAdapter的adapter中有一个方法
/**
* 父类view
*/
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
Log.i("zhaoxiong","parent view");
LinearLayout parentLayout=(LinearLayout) View.inflate(context, R.layout.wowocoupons_parent_item, null);
TextView parentTextView=(TextView) parentLayout.findViewById(R.id.parentitem);
parentTextView.setText(parentlist.get(groupPosition));
ImageView parentImageViw=(ImageView) parentLayout.findViewById(R.id.arrow);
//判断isExpanded就可以控制是按下还是关闭,同时更换图片
if(isExpanded){
parentImageViw.setBackgroundResource(R.drawable.arrow_down);
}else{
parentImageViw.setBackgroundResource(R.drawable.arrow_up);
}
return parentLayout;
}