Android开发点点滴滴——ListView(续)
来源:互联网 发布:淘宝卖电脑的哪家店好 编辑:程序博客网 时间:2024/06/12 01:53
1.自定义ListView 重载BaseAdapter
之前在使用ListView时,基本上选用的android已有的适配器(Adapter),优点是:对于简单的实现一些功能来说,用起来比较方便简单,缺点是:ui看起来也很单调,不能定制布局。
为了能自定义listview的ui,可以自己写一个Adapter来继承BaseAdapter,只要重载几个方法即可。
具体来说 就是重载
getCount()
getItem()
getItemId()
getView()
四个方法,每个方法代表的含义如下:
class MyAdapter extends BaseAdapter{@Overridepublic int getCount() {//返回数据集中的条目数,简单来说就是决定listview的行数 (一般的 return 数据集.size();)return 0;}@Overridepublic Object getItem(int position) {//获取数据集中与指定索引对应的数据项(一般的 return position;)return null;}@Overridepublic long getItemId(int position) {//取在列表中与指定索引对应的行id,也就是返回那一行(一般的 return position;)return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//返回列表项的视图 这个是最关键的,基本都是重写这个方法,自定义UI,最后返回view即可return null;}}
对于getView写法,本人不才,基本都是直接写,没有任何处理,但是推荐使用 缓存convertView方式和viewHolder方式来实现。
2.使用Adapter的notifyDataSetChanged()方法动态更新ListView(UI)
notifyDataSetChanged方法通过一个外部的方法控制,如果适配器的内容改变时,需要强制调用getView()来刷新每个Item的内容。
值得注意的如果实在ui线程之外使用notifyDataSetChanged来更新ListView,需要使用Handler方式或者,或者AsyncTask方式
- Android开发点点滴滴——ListView(续)
- Android开发点点滴滴——ListView
- Android开发点点滴滴——Timer
- Android开发点点滴滴——事件处理
- Android开发点点滴滴——LayoutInflater及inflate方法
- Android开发点点滴滴——Spinner的使用
- Android开发点点滴滴——关于visibility属性
- Android开发点点滴滴——Gallery的使用
- Android开发中的点点滴滴
- Android开发点点滴滴
- 记录Android开发的点点滴滴
- Android开发点点滴滴——软引用缓存图片和异步加载
- Android开发点点滴滴——使用HttpURLConnection发送get和post请求
- Android开发点点滴滴——一些基础的但有用的知识
- Android开发点点滴滴——一些基础的但有用的知识(2)
- Android开发点点滴滴——一些基础的但有用的知识(3)
- Android开发之UI开发的点点滴滴
- android 移动开发过程中一些点点滴滴
- REST SOAP
- ubuntu 查看系统信息
- android照相及图片裁剪预览(图文)
- java的一些心得体会!
- Android 多屏幕适配
- Android开发点点滴滴——ListView(续)
- Duplicates in a repeater are not allowed in AngularJS
- 使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例
- vs2010 unresolved external symbol error
- 总结:ios数据持久化存储&文件系统编程
- 我爱迪迪 破解
- 正则表达式示例
- jQuery插件开发--(转)
- 云畅快转系统