Android适配器BaseAdapter详解

name="loginwin" id="loginwin" src="http://www.it165.net/index.php?m=member&c=Login&forward=http%3A%2F%2Fwww.it165.net%2Fpro%2Fhtml%2F201412%2F28718.html" allowtransparency="true" height="30" frameborder="0" scrolling="no" width="100%">
id="starIframe3" src="http://inte.sogou.com/ct?id=155403&h=250&w=300&fv=11&if=16&sohuurl=http%3A%2F%2Fwww.it165.net%2Fpro%2Fhtml%2F201412%2F28718.html&refer=http%3A%2F%2Fwww.sogou.com%2Fsogou%3Fquery%3Dbaseadapter%25CF%25EA%25BD%25E2%26pid%3Dsogou-site-0abdc563a06105ae&rnd=a80808af3cfaa9d6&z=6565754c6904ad9e&lmt=1417755514&srp=1366,768&ccd=32&lhi=1&eja=true&npl=19&nmi=72&ece=true&lan=zh-CN&bi=3&t1=7&t2=1429060554&pvt=1429060554031&ssi0=259&ti=Android%E9%80%82%E9%85%8D%E5%99%A8BaseAdapter%E8%AF%A6%E8%A7%A3%20-%20Android%20-%20%E6%AC%A1%E5%85%83%E7%AB%8B%E6%96%B9%E7%BD%91%20-%20%E7%94%B5%E8%84%91%E7%9F%A5%E8%AF%86%E4%B8%8E%E6%8A%80%E6%9C%AF%E4%BA%92%E5%8A%A8%E4%BA%A4%E6%B5%81%E5%B9%B3%E5%8F%B0&bs=1246,617&tmp_cdif=0&m=MTQyOTA2MDU1MV9wcmV0dHkgZG9nXzE1NTQwMwA-&ex=" width="300" height="250" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true">
  • 热门专题

marginwidth="0" marginheight="0" frameborder="0" scrolling="no" width="300" height="250" id="_um_uuid1429060554406" src="http://www.it165.net/pro/html/201412/28718.html"> o


作者:  发布日期:2014-12-05 20:41:57
Tag标签: 适配器  
  • 01. public int getCount()
    02. 数据域大小方法
    03.  
    04. public Object getItem(int arg0)
    05. 返回每个Item的数据据
    06.  
    07. public long getItemId(int arg0)
    08. 返回每个Item的ID
    09.  
    10. View getView(int arg0, View arg1, ViewGroup arg2)
    11. 最重要的是:重绘视图,调用次数是由第一个方法确定的。最后将视图返回。
    12. 注意:有些控件必须设置成没有获利焦点与点击。
    13. 这几个方法写的内容基本不变,具有参考价值。
    14.  
    15. 2.重写数据区域使用ArrayList实现List。
    16. 先封装一个数据类,再将这个数据类装进List集合中。
    17.  
    18. 3.绑定数据区域与视图区域
    19. setListAdapter(MyAdapter);
    20. 注:MyAdapter是自定义的Adapter。

    其中的getview方法的三个参数是这样的

     

    1. /**
    2. * @param position      position就是位置从0开始
    3. * @param convertView   convertView是Spinner,ListView中每一项要显示的view
    4. * @param parent        parent就是父窗体了,也就是Spinner,ListView,GridView了
    5. * @return              通常return 的view也就是convertView
    6. * 绘制的内容均在此实现
    7. */
    8. abstract public View getView(int position, View convertView, ViewGroup parent);
    01. 调用getView()逐一绘制每一行。如果你的 getCount()返回值是0的话,列表将不显示,同样return 1,就只显示一行。
    02.  
    03.  
    04. 系统显示列表时,首先实例化一个适配器(这里将实例化自定义的适配器)。
    05.  
    06. 当手动完成适配时,必须手动映射数据,这需要重写getView()方 法。
    07.  
    08. 系统在绘制列表的每一行的时候将调用此方法。getView()有三个参数,position表示将显示的是第几行,covertView是从布局文 件中inflate来的布局。
    09.  
    10. 我们用LayoutInflater的方法将定义好的item.xml文件提取成View实例用来显示。
    11.  
    12. 然后将xml文件中 的各个组件实例化(简单的findViewById()方法)。这样便可以将数据对应到各个组件上了。
    13.  
    14. 但是按钮为了响应点击事件,需要为它添加点击监听 器,这样就能捕获点击事件。至此一个自定义的listView就完成了,
    15.  
    16. 现在让我们回过头从新审视这个过程。系统要绘制ListView了,他首先获得要 绘制的这个列表的长度,然后开始绘制第一行,怎么绘制呢?
    17.  
    18. 调用getView()函数。在这个函数里面首先获得一个View(实际上是一个 ViewGroup),然后再实例并设置各个组件,显示之。好了,绘制完这一行了。那再绘制下一行,直到绘完为止。

     

name="easyXDM_default6951_provider" id="easyXDM_default6951_provider" src="http://changyan.sohu.com/v2/asset/innerpage.html?appid=cyrljYvoL&conf=prod_2c3485f27b3b0d5d138546ad112483d2&confstr=prod_2c3485f27b3b0d5d138546ad112483d2&client_id=cyrljYvoL&title=Android%E9%80%82%E9%85%8D%E5%99%A8BaseAdapter%E8%AF%A6%E8%A7%A3%20-%20Android%20-%20%E6%AC%A1%E5%85%83%E7%AB%8B%E6%96%B9%E7%BD%91%20-%20%E7%94%B5%E8%84%91%E7%9F%A5%E8%AF%86%E4%B8%8E%E6%8A%80%E6%9C%AF%E4%BA%92%E5%8A%A8%E4%BA%A4%E6%B5%81%E5%B9%B3%E5%8F%B0&topicurl=http%3A%2F%2Fwww.it165.net%2Fpro%2Fhtml%2F201412%2F28718.html&topicsid=28718&spSize=5&pageConf={}&xdm_e=http%3A%2F%2Fwww.it165.net&xdm_c=default6951&xdm_p=1" frameborder="0" scrolling="no" height="321px" style="width: 856px; min-height: 320px; height: 321px; ">
About IT165 -  广告服务 -  隐私声明 -  版权申明 -  免责条款 -  网站地图 -  网友投稿 -  联系方式 
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值