码迷,mamicode.com
首页 > 移动开发 > 详细

【Android-005】【ListView】

时间:2015-10-09 08:07:29      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:listview   android   

项目源码下载


ListView

  • 就是用来显示一行一行的条目的
  • MVC结构
    • M:model模型层,要显示的数据 ————people集合
    • V:view视图层,用户看到的界面 ————ListView
    • c:control控制层,操作数据如何显示 ————adapter对象
  • 每一个条目都是一个View对象

BaseAdapter

  • 必须实现的两个方法

  • 第一个

            //系统调用此方法,用来获知模型层有多少条数据
            @Override
            public int getCount() {
                return people.size();
            }
  • 第二个
            //系统调用此方法,获取要显示至ListView的View对象
            //position:是return的View对象所对应的数据在集合中的位置
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                System.out.println("getView方法调用" + position);
                TextView tv = new TextView(MainActivity.this);
                //拿到集合中的元素
                Person p = people.get(position);
                tv.setText(p.toString());

                //把TextView的对象返回出去,它会变成ListView的条目
                return tv;
            }
  • 屏幕上能显示多少个条目,getView方法就会被调用多少次,屏幕向下滑动时,getView会继续被调用,创建更多的View对象显示至屏幕

条目的缓存

  • 当条目划出屏幕时,系统会把该条目缓存至内存,当该条目再次进入屏幕,系统在重新调用getView时会把缓存的条目作为convertView参数传入,但是传入的条目不一定是之前被缓存的该条目,即系统有可能在调用getView方法获取第一个条目时,传入任意一个条目的缓存

版权声明:本文为博主原创文章,未经博主允许不得转载。

【Android-005】【ListView】

标签:listview   android   

原文地址:http://blog.csdn.net/derrantcm/article/details/48967703

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!