二级列表ExpandableListView
2015-02-12 17:44
405 查看
<ExpandableListView android:id="@+id/expandableListView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" android:divider="@null" > </ExpandableListView>
代码:
初始化:
listView = (ExpandableListView) getActivity().findViewById( R.id.expandableListView);
private class MyAdapter extends BaseExpandableListAdapter { @Override public int getGroupCount() { // TODO Auto-generated method stub return expandChildData.length; } @Override public int getChildrenCount(int groupPosition) { // TODO Auto-generated method stub return 1; } @Override public Object getGroup(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override public Object getChild(int groupPosition, int childPosition) { // TODO Auto-generated method stub return groupPosition * 9 + childPosition; } @Override public long getGroupId(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { // TODO Auto-generated method stub return groupPosition * 9 + childPosition; } @Override public boolean hasStableIds() { // TODO Auto-generated method stub return true; } @Override public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final GroupViewHolder holder = new GroupViewHolder(); View view = LayoutInflater.from(getActivity()).inflate( R.layout.expanded_listview_adapter_group_item, null); holder.groupCB = (CheckBox) view .findViewById(R.id.expand_listview_group_cb); //如果不能展开和收缩,要自己调用 //..listView.expandGroup(groupPosition); // 关闭本组列表 //listView.collapseGroup(groupPosition); ... }); return view; } @Override public View getChildView(final int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ... return convertView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { // TODO Auto-generated method stub return true; } final class GroupViewHolder { LinearLayout layout; CheckBox groupCB; } final class ChildViewHolder {}
首先:如果是自己的listVie点击没有反映,没有扩展或者是收缩,只能用代码来控制:
// 显示本组列表 listView.expandGroup(groupPosition);
// 关闭本组列表 listView.collapseGroup(groupPosition);
去除一级列表前面的那个箭头:
listView.setGroupIndicator(null);
其次对于重用的convertView来说,经常会出现空指针,是因为我这里用的是两个的类来放不同的布局,如果只用一个类的话,就不会出现这个空指针的问题了,因此,如果要重用的话,最好是把两个的view放在一个类里面。
相关文章推荐
- android端获取网络数据添加到二级列表ExpandableListView
- 二级列表ExpandableListView 仿京东购物车
- 二级列表 ExpandableListView
- Android::ExpandableListView二级列表控件的使用
- android ExpandableListView二级列表
- ExpandableListView_二级列表(数据是用TypeToken解出来的【外层是集合】)
- ExpandableListView 二级列表
- Android_ExpandableListView_一个ListView实现二级列表
- ExpandableListView多级列表(二级列表)
- ExpandableListView 二级列表的一个简单案例
- [置顶] Android--ExpandableListview二级列表购物车功能实现
- ExpandableListView+Dialog实现弹出二级下拉列表选项。可自由用于Activity和Fragment中
- ExpandableListView二级列表
- 实现ExpandableListView 二级列表,点击二级条目状态的改变
- ExpandableListView 二级展开列表
- 安卓二级列表 ExpandableListView
- Android电商项目 ExpandableListView(二级列表)实现购物车(高仿淘宝) demo
- 二级列表ExpandableListView
- ExpandableListView二级列表购物车,MVP获取数据
- ExpandableListView (二级列表)使用demo