android listView功能简介

本文参考连接:http://blog.csdn.net/kesenhoo/article/details/7196920

android中listView是非常常用的组建,下边就经常用到的功能做一下简单的介绍

1、adapter对应的getView方法:

此方法的作用:获取list item的每一项view,取到后返回进行显示。

问题: 当有很多数据需要显示时,创建view怎么办?

对此,Android提供了一套重复利用的机制叫做Recycler”:

原理简单描述下就是这样:

在一个完整的ListView第一次出现时,每个Item都是Null的,getView的时候会执行到需要inflate一个Item的代码段,假设整个view只能最多显示10个item,那么 当滑动到第11个Item的时候,第一个item会放入“recycler“,如果第11个Item和放    入“Recycler”的item的view一致,那么就会使用"Recycler"里面的Item来显示,  从而不用再重复inflate一次,这样大大节省了创建View的工作,在需要显示大量数     据时显得尤为重要。

 
<pre name="code" class="java"><span style="font-size:24px;">@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		ViewHolder holder = null;
		if (convertView == null) {
			holder = new ViewHolder();
			convertView = mInflater.inflate(
					R.layout.temp_layout, null);
			holder.mTextView = (TextView) convertView
					.findViewById(R.id.temp_layout_text);
			convertView.setTag(holder);
		} else {
			holder = (ViewHolder) convertView.getTag();
		}
}</span>


2、listView滑动问题

   
<span style="font-size:24px;">	@Override
      public void onScroll(AbsListView view, int firstVisibleItem,
					int visibleItemCount, int totalItemCount)</span>

参数介绍:
firstVisibleItem :第一个可见item所在的位置,滑动一个,增大一个值。
visibleItemCount:当前屏幕可见个数
totalItemCount:和view.getCount()是同样的值,代表当前view包含总数
如:
第一次初始化滑动数据如下:

滑动一次:

滑动第二次:


上边方法参数的了解,可以更好的开发滑动对应的一些功能

3、getItemViewType(int position)

    ListView中如果item会用到不同的布局,就会通过这个方法来判断当前使用那个      组建,使用方法和getView一样



posted @ 2015-11-24 16:49  你好and程序员  阅读(521)  评论(0编辑  收藏  举报