首页
学习
活动
专区
圈层
工具
发布

android学习笔记----ListView和各种适配器简介

mAdapter(ListAdapter接口的引用),这个mAdapter已经用new myAdapter()实例化了,那么到底什么时候调用getView呢?...,MyAdapter里面的getView报的错误:  java.lang.UnsupportedOperationException:  addView(View, LayoutParams) is...ArrayAdapter具有说明来告诉它自己如何创建列表项视图,并返回给ListView,当屏幕被占满后 ListView 将停止向ArrayAdapter 寻求更多的列表项,列表项视图仅在需要时才创建...,当视图被滚动离开屏幕后,它们就会被添加到Scrap Pile,比如前两个列表项不再可见,它们将进入 Scrap Pile,然后当我们请求新的列表项时,我们可以通过将这些视图再返回到 ArrayAdapter...getView方法有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,以便于之后可以重用。 接着我们新增一个内部类ViewHolder,用于对控件的实例进行缓存。

3.2K10

2014-10-27Android学习------布局处理(八)------自定义ListView的监听事件和Adapter的实现-----城市列表应用程序

,getItem,getItemId,最后一个最重要的是getView,getView函数为什么重要呢?...因为它是用来刷新它所在的ListView的。它在什么时候调用的呢?就是在每一次item从屏幕外滑进屏幕内的时候,或者程序刚开始的时候创建第一屏item的时候。...getView(int position, View convertView, ViewGroup parent) {//这个函数主要是就是当我们的城市非常的多的时候,我们滑动屏幕,视图是需要不断更新的...ViewHolder holder;//要显示在界面上的两个控件 if (convertView == null) {//如果视图不可以重用的话,我们需要用到备用视图 convertView...TextView name;//对应的是城市的名称 } } 特别提供: public abstract View getView (int position, View convertView

76420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发-Listview中显示不同的视图布局

    使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。...convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。...比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。...2.ListView包含不同Item的布局 我们需要做这些工作:   1)重写 getViewTypeCount() – 该方法返回多少个不同的布局   2)重写 getItemViewType...(int) – 根据position返回相应的Item   3)根据view item的类型,在getView中创建正确的convertView 3.案例 import java.util.ArrayList

    4.1K30

    Android ListView适配器应该这样写

    ListView是我们开发中很重要的控件,在项目中也用的非常多,为了利用ListView展示数据,我们都需要给它新建一个适配器Adapter,一般继承于BaseAdapter,然后重写一些方法,其中最重要的方法是...public View getView(int position, View convertView, ViewGroup parent),当然我们会依次做View的重用,还会利用ViewHolder缓存已经映射完成的子控件...接下来我们重写ListAdapter的分组方法,毕竟还是有很多时候ListView的cell样式不止一种。...接下来是最重要的getView方法。...最后我还是想多说一句,了解开源项目背后的实现原理非常必要,更重要的是能够在原有的基础上进行改进创新,更难能可贵,在这个过程中,我们自己也会得到提升。

    71620

    速读原著-Android应用开发入门教程(列表(List)视图组)

    8.6 列表(List)视图组 本节介绍的列表(List)视图组可以将某种控件按照列表的形式组织起来,它与网格视图组类似,但是附加了更方便的组织方式。...widget.Adapter> => android.widget.AbsListView => android.widget.ListView ListView 也扩展了 AbsListView,列表视图的使用方法和网格视图具有很相似的共同点...: void setListAdapter(ListAdapter adapter) // 设置 ListAdapter 作为数据 void onListItemClick(ListView l, View...ListActivity,这里使用的 getListView()将返回布局文件中定义 id 是"@android:id/list"的ListView。...省略部分内容 } 这里的 getView()函数所返回的是 ImageView 类型,这样在列表中显示的内容就可以是一组图片了。

    84710

    Android开发:ListView、AdapterView、RecyclerView全面解析

    }//这个方法返回了在列表中与指定索引对应的行id @Override public View getView(int position, View convertView, ViewGroup...重写getView()的第二种方法:使用convertView作为缓存进行优化 getView()返回值是一个View,把它作为输入参数并放到getView()输入参数里,形成反馈。...; }//这个方法返回了指定索引对应的数据项的视图 这种方法和第一种相比减少了重绘View的次数,但是还是每一次都要findViewById 重写getView()第三种方法 通过convertView...; }//这个方法返回了指定索引对应的数据项的视图 这种方法就既减少了重绘View,又减少了findViewById的次数,所以这种方法是最能节省资源的,所以非常推荐大家使用通过convertView...,所以要在xml里面配置android:focusable="false" } }); return convertView; }//这个方法返回了指定索引对应的数据项的视图

    4.3K30

    安卓第八夜 玛丽莲梦露

    上一讲说明了数据库中存取数据的方法。这一讲将以条目的视图方式,来以相似的视图方式,显示多个数据对象。这种方式特别适合于显示从数据库中取出的多个结构相似的数据,比如多个联系人,或者多个联系人分类。...未来的字符串型数据按照该视图元素规定的格式显示。这个布局的源代码可参考链接。安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...我通过编写getView()方法,来说明每个Category对象和对应条目视图的绑定方式。...该方法的第一个参数代表了条目的编号,第二个参数是条目的视图,第三个参数代表了母视图,也就是整个ListView。需要注意的是第二个参数,即convertView。...随着用户上下滑动屏幕,ListView的条目可能消失。安卓会重复利用消失条目的视图树,以节省重新建立条目视图所需要的时间。convertView中就包含了这样一个重复利用的条目视图。

    2.5K90

    安卓第八夜 玛丽莲梦露

    上一讲说明了数据库中存取数据的方法。这一讲将以条目的视图方式,来以相似的视图方式,显示多个数据对象。这种方式特别适合于显示从数据库中取出的多个结构相似的数据,比如多个联系人,或者多个联系人分类。...未来的字符串型数据按照该视图元素规定的格式显示。这个布局的源代码可参考链接。安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...我通过编写getView()方法,来说明每个Category对象和对应条目视图的绑定方式。...该方法的第一个参数代表了条目的编号,第二个参数是条目的视图,第三个参数代表了母视图,也就是整个ListView。需要注意的是第二个参数,即convertView。...随着用户上下滑动屏幕,ListView的条目可能消失。安卓会重复利用消失条目的视图树,以节省重新建立条目视图所需要的时间。convertView中就包含了这样一个重复利用的条目视图。

    1.2K10
    领券