首页 > 代码库 > 三级扩展列表 学习心得
三级扩展列表 学习心得
@Override public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { final ExpandableListView expandableListView = getExpandableListView(); /** * 这里每个exListView 只有一个元素, 每个元素代表二级目录的每个目录 * */ EntryChild child = getChild(groupPosition, childPosition); ArrayList<EntryChild> arrayList = new ArrayList<EntryChild>(); arrayList.add(child); System.out.println("--- > getChildView " + groupPosition +"."+ childPosition + child); ChildAdapter childAdapter = new ChildAdapter(context, arrayList); expandableListView.setAdapter(childAdapter); expandableListView.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { System.out.println("click: " + groupPosition + ", " + childPosition); return false; } }); /** * 子ExpandableListView展开时,因为group只有一项,所以子ExpandableListView的总高度= * (子ExpandableListView的child数量 + 1 )* 每一项的高度 */ expandableListView.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 50 * (getChild(groupPosition, childPosition).data.size()+1)); expandableListView.setLayoutParams(lp); } }); /** * 子ExpandableListView关闭时,此时只剩下group这一项, * 所以子ExpandableListView的总高度即为一项的高度 * */ expandableListView.setOnGroupCollapseListener(new OnGroupCollapseListener() { @Override public void onGroupCollapse(int groupPosition) { LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 50); expandableListView.setLayoutParams(lp); } }); return expandableListView; } private ExpandableListView getExpandableListView() { ExpandableListView expandableListView = new ExpandableListView(context); LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 50); expandableListView.setLayoutParams(lp); return expandableListView; }
三级扩展列表 学习心得
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。