public class ChexianListAdapter extends BaseExpandableListAdapter {
int count = 0;
public ChexianListAdapter( Context mContext,String[] mgroup_title_arry,String[][] mchild_text_array){
}
// 重写ExpandableListAdapter中的各个方法
/**
* 获取一级标签总数
*/
@Override
public int getGroupCount() {
}
/**
* 获取一级标签内容
*/
@Override
public Object getGroup(int groupPosition) {
}
/**
* 获取一级标签的ID
*/
@Override
public long getGroupId(int groupPosition) {
}
/**
* 获取一级标签下二级标签的总数
*/
@Override
public int getChildrenCount(int groupPosition) {
}
/**
* 获取一级标签下二级标签的内容
*/
@Override
public Object getChild(int groupPosition, int childPosition) {
}
/**
* 获取二级标签的ID
*/
@Override
public long getChildId(int groupPosition, int childPosition) {
}
/**
* 指定位置相应的组视图
*/
@Override
public boolean hasStableIds() {
}
/**
* 对一级标签进行设置
*/
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
count ++;
System.out.println("次数" + count + "所在父list的位置" + groupPosition);
// 返回一个布局对象
return convertView;
}
/**
* 对一级标签下的二级标签进行设置
*/
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
convertView = (RelativeLayout) RelativeLayout.inflate(
mContext, R.layout.chexian_child_layout, null);
return convertView;
}
/**
* 当选择子节点的时候,调用该方法
*/
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
};
下面上测试结果
结果 1
其对应布局文件
结果 2
其对应布局文件;
结果3
其对应布局文件
好了
测试结果已经全部给显示出来,看到了什么?
重点都在高度的设置上fill 和wr 的 不同导致getview()的次数也不同。
哦
这个listview的显示样式如下:
然后就是
在正确的执行次数的情况之下,去测试拖动的时候的情况;如图:
这个就顺便说明了listview的工作原理
具体不多说,可以去搜索一下,回来看这个图就会明白它说的那个管理的机制是什么个情况了。
另外还有
2中优化listview 的方案
我这个adapter里面没有使用,所以在滑动的时候每次都要加载一次xml文件
没有体现到复用的知识。
感兴趣的可以去搜索一下
我要是去测试优化情况下的执行次数的时候
会再次发帖的。
link:给推荐几个对程序员来说神器般存在的软件