天天看點

可擴充ListView

最近因為項目需求,要添加一種可擴充ListView,來展示頁面,自己也是第一次用 網上看了很多 竟然有原生的,但是有點醜,我就分享一下我自己的做法。

ExpandableListView
是原生的,相信很多人也是用過
	1.傳統的ListView都是使用到擴充卡 ,這裡ExpandableListView也是用到擴充卡,但是這裡自定義的擴充卡要繼承       
BaseExpandableListAdapter。      

重寫幾個方法:

@Override
public int getGroupCount() {
    return parentList.size();
}

@Override
public int getChildrenCount(int groupPosition) {
    return childList.size();
}

@Override
public Object getGroup(int groupPosition) {
    return parentList.get(groupPosition);
}

@Override
public Object getChild(int groupPosition, int childPosition) {
    return childList.get(childPosition);
}

@Override
public long getGroupId(int groupPosition) {
    return groupPosition;
}

@Override
public long getChildId(int groupPosition, int childPosition) {
    return childPosition;
}

@Override
public boolean hasStableIds() {
    return true;
}

@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
  
    return convertView;
}

@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
  
    return convertView;
}

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    return true;
}
      
其實沒什麼不一樣 就是等于說 2個GetView的方法,來引入父布局和子布局      
剩下就是監聽事件了