关于android端的listview的一个发现
2014-01-24 08:53
162 查看
要想实现listview,要做一个BaseAdapter的继承当做他的数据出入的处理,这个都知道。
然后呢,主要继承4个函数:
public int getCount()
public Object getItem(int position)
public long getItemId(int position)
public View getView(int position, View convertView, ViewGroup parent)
关于这4个函数的解释,
百度出来的结果是 getcount,顾名思义,就是返回所有需要读取你希望listview显示的所有数,
getItem是在点击后才会调用该函数,以实现返回值给listview 的itemclick 的回调函数
getItemId和 getitem差不多,返回你希望返回的 id值
getView的话,简单的来说就是显示时,用户在滑动时,调用该函数不断的刷新界面,public View getView(int position, View convertView, ViewGroup parent),
其实他的convertView这个参数,大有玄机。android官方是这么解释的,在调用getview时,应该先检测一个convertView这个参数,如果为null,则需要重新用inflate去填充他,如果有值,那就在他的值的基础上改改。但是有一个问题,他的值是哪来的?当时由于急着赶项目,没有去研究他,后来在做的时候发现,界面滑下来后显示的item,出来了不该显示的值,查了很久没查出来。后来看到这个值,研究了一下,我靠,这玩意就是你滑下来后,就是从上面滑出来的那个item,就是说,他就是一屏的convertView在不断的循环,值也给你完整的继承下来了,就是相当于循环的栈表,从头上顶出来,完完整整
的并到底下,然后你需要继承getView这个函数去改变他的值,使他在并的时候能变换值,看上去像是单向栈一样。
然后呢,主要继承4个函数:
public int getCount()
public Object getItem(int position)
public long getItemId(int position)
public View getView(int position, View convertView, ViewGroup parent)
关于这4个函数的解释,
百度出来的结果是 getcount,顾名思义,就是返回所有需要读取你希望listview显示的所有数,
getItem是在点击后才会调用该函数,以实现返回值给listview 的itemclick 的回调函数
getItemId和 getitem差不多,返回你希望返回的 id值
getView的话,简单的来说就是显示时,用户在滑动时,调用该函数不断的刷新界面,public View getView(int position, View convertView, ViewGroup parent),
其实他的convertView这个参数,大有玄机。android官方是这么解释的,在调用getview时,应该先检测一个convertView这个参数,如果为null,则需要重新用inflate去填充他,如果有值,那就在他的值的基础上改改。但是有一个问题,他的值是哪来的?当时由于急着赶项目,没有去研究他,后来在做的时候发现,界面滑下来后显示的item,出来了不该显示的值,查了很久没查出来。后来看到这个值,研究了一下,我靠,这玩意就是你滑下来后,就是从上面滑出来的那个item,就是说,他就是一屏的convertView在不断的循环,值也给你完整的继承下来了,就是相当于循环的栈表,从头上顶出来,完完整整
的并到底下,然后你需要继承getView这个函数去改变他的值,使他在并的时候能变换值,看上去像是单向栈一样。
相关文章推荐
- Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案
- Android关于ExpandableListView用法的一个简单小例子。仿QQ列表
- Android listview下拉刷新,上拉加载(发现一个比较好用的,和大家分享下)
- Android中关于ExpandableListView用法的一个简单小例子
- Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案
- 关于Android中http请求Gosn解析的一些个人见解: 首先是XML中构建布局: 在布局里面建一个listview用来展示Gson解析的字符
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- android 关于ExpandableListView单击一个group其他的group关闭,此group标题应该顶头
- Android中一个关于ListView的奇怪问题
- android 关于ExpandableListView的一个问题解决
- android Listview 与 Scrollview 共存的一个较优良的解决方法
- android中关于ListView的卡位说明
- Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象
- Android 关于listView 显示不全的问题
- 关于android的ListView的getCheckItemIds无法准确得到被选checkbox的bug
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- Android 一个Activity里面2个ListView垂直排列,动态设置ListView高度
- android中listview紧接着Button按钮,发现最后一条item没有下横线??
- android 左边一个listview 点击item去更换右边listview的数据
- 分享下android 一个Listview下拉刷新的二次封装(第一次修订)