继承BaseAdapter自定义ListView
2010-12-13 11:53
246 查看
参考的这篇文章:http://android.amberfog.com/?p=296
最关键的点就在于:Android ListView只会创建并保持(在内存中)界面上会显示的items,当发生滚动的时候,调用Adapter的getView方法来获得新的view。这就是为什么getView方法中的convertView参数有的时候是NULL,有的时候不是NULL的原因。为NULL的时候表示该item还没创建过;如果一个界面最多能显示9个item,那么顶多也就创建9个item了,当某些item消失新的item要出现的时候,调用getView方法,此时convertView就是要消失掉的item,所以在getView方法中只需要对这个convertView做一些修改就OK了。归根结底,这样的做法是为了节省内存。
测试代码:/Files/super119/ListViewAdapter.zip
这个例子中ListView中每个item是由2个TextView和2个ImageButton构成的。没有重载ListView的onItemClickListener,点击按钮才有效。View有个很有用的方法setTag,可以用来存放自定义的对象。2个ImageButton就是通过访问parent view的存放在setTag中的自定义类来知道是哪一行的按钮被点击了。
最关键的点就在于:Android ListView只会创建并保持(在内存中)界面上会显示的items,当发生滚动的时候,调用Adapter的getView方法来获得新的view。这就是为什么getView方法中的convertView参数有的时候是NULL,有的时候不是NULL的原因。为NULL的时候表示该item还没创建过;如果一个界面最多能显示9个item,那么顶多也就创建9个item了,当某些item消失新的item要出现的时候,调用getView方法,此时convertView就是要消失掉的item,所以在getView方法中只需要对这个convertView做一些修改就OK了。归根结底,这样的做法是为了节省内存。
测试代码:/Files/super119/ListViewAdapter.zip
这个例子中ListView中每个item是由2个TextView和2个ImageButton构成的。没有重载ListView的onItemClickListener,点击按钮才有效。View有个很有用的方法setTag,可以用来存放自定义的对象。2个ImageButton就是通过访问parent view的存放在setTag中的自定义类来知道是哪一行的按钮被点击了。
相关文章推荐
- 自定义ListView适配器继承BaseAdapter
- Android开发学习之路-自定义ListView(继承BaseAdapter)
- android listview继承BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
- 关于ListView中继承BaseAdapter重写getview的显示重复数据或报转换错误的问题
- android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- Android 针对继承BaseAdapter的自定义适配器应注意的几个地方
- 【转】 android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- 【android学习笔记】自定义Adapter继承BaseAdapter获取不到getview或者getview不执行的问题
- Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- android自定义BaseAdapter,实现从网络加载包含图片的listview
- android ListView使用的三种方法汇总(通过继承BaseAdapter,使用SimpleAdapter和SimpleCursorAdapter)
- 实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- Android中的自定义Adapter(继承自BaseAdapter)——与系统Adapter的调用方法一致——含ViewHolder显示效率的优化
- Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- 自定义的BaseAdapter实现LIstView的展示
- 使用自定义的BaseAdapter实现LIstView的展示
- android 自定义adapter extends BaseAdapter,做有自己布局的listView
- Android定制ListView的界面(使用继承自ArrayAdapter的自定义适配器)--《第一行代码Android》学习笔记
- 转--Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- 用布局填充器填充ListView(继承BaseAdapter)