Android中级进阶一ListView使用BaseAdapter

最新版本:Android中级进阶一ListView使用BaseAdapter

Android入门walfred提到了使用ListView合理布局数据源,当时提到了ListView在使用时,需要使用adapter来绑定数据,文章中提到的是使用SimpleCursorAdapter,直接绑定数据库查询的游标。但是现在,我们的需求发生了变化,我们需要一个这样的ListView

1ListView的列表内容需要定制,每行数据都需要使用一些view来美化,每行数据使用Button按钮来做进一步处理;

2ListView的数据需要动态刷新;

3、进一步美化ListView,比容添加ListView的页眉和页脚,比如添加或修改ListView的分割线等等;

也就是说,我们在使用ListView的时候一定需要根据需求来使用定制,而不是胡乱盲目的使用,不顾情况的乱套,用的不好反而会被其他人鄙视的,打个比方,你给你家小孩共49人坐在荷载6人的车上去上下学,却把豪华大巴送给有钱的“远方邻居“去使用,这不就扯蛋了嘛!

好了,为了使我的ListView使用更灵活,我们决定使用自己的adapter—继承自BaseAdapter

下面的代码,我们结合一个实例来讲解,使用多线程断点续传的案例来讲解。

baseadapter的方法比较多,我么只要继承之,自然会生成一坨需要你实现的接口方法,我们看下有哪些需要我们去完善的!~

我的adapter名字叫做DownloadAdapter

 

  1. public class DownloadAdapter extends BaseAdapter {  
  2.   
  3.     @Override  
  4.     public int getCount() {  
  5.         // TODO Auto-generated method stub  
  6.         return 0;  
  7.     }  
  8.   
  9.     @Override  
  10.     public Object getItem(int arg0) {  
  11.         // TODO Auto-generated method stub  
  12.         return null;  
  13.     }  
  14.   
  15.     @Override  
  16.     public long getItemId(int position) {  
  17.         // TODO Auto-generated method stub  
  18.         return 0;  
  19.     }  
  20.   
  21.     @Override  
  22.     public View getView(int position, View convertView, ViewGroup parent) {  
  23.         // TODO Auto-generated method stub  
  24.         return null;  
  25.     } 
  26. }

 

我需要完善的方法有上面这么多,看这些名字,我们基本晓得我们需要完善的这些接口都是干什么的,这个DownloadAdapter和我们的ListView想绑定起来,提供数据显示和相关的控件,工作原理是这样的:

1、使用getCount()方法获取数据源中对象的条目,将来这是ListView的显示条数,这个条目我们把它都是认作为一个一个的对象;

2getItemId()方法是获取每个对象的id,从0开始到getCount()-1依次显示;

3、既然晓得了每条目的id之后,我们就可以根据id使用getItem()拿到具体的条目对象;

4getView()方法就是拿到条目对象之后,依照对象里面的控件依次显示咋ListView条目中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值