getView()执行次数问题(自己再次测试,顺便做个记录)

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 

getView()执行次数问题(自己再次测试,顺便做个记录)_第1张图片

其对应布局文件

getView()执行次数问题(自己再次测试,顺便做个记录)_第2张图片

结果     2  

getView()执行次数问题(自己再次测试,顺便做个记录)_第3张图片

其对应布局文件;

getView()执行次数问题(自己再次测试,顺便做个记录)_第4张图片

结果3

getView()执行次数问题(自己再次测试,顺便做个记录)_第5张图片

其对应布局文件

getView()执行次数问题(自己再次测试,顺便做个记录)_第6张图片

好了

测试结果已经全部给显示出来,看到了什么?

重点都在高度的设置上fill 和wr 的 不同导致getview()的次数也不同。



这个listview的显示样式如下:

getView()执行次数问题(自己再次测试,顺便做个记录)_第7张图片


然后就是

在正确的执行次数的情况之下,去测试拖动的时候的情况;如图:

getView()执行次数问题(自己再次测试,顺便做个记录)_第8张图片

这个就顺便说明了listview的工作原理

具体不多说,可以去搜索一下,回来看这个图就会明白它说的那个管理的机制是什么个情况了。

另外还有

2中优化listview 的方案

我这个adapter里面没有使用,所以在滑动的时候每次都要加载一次xml文件

没有体现到复用的知识。

感兴趣的可以去搜索一下

我要是去测试优化情况下的执行次数的时候

会再次发帖的。


link:给推荐几个对程序员来说神器般存在的软件


你可能感兴趣的:(android)