ListView 和 Adapter

ListView简介

  • 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。基本上是个软件基本都会使用到ListView 。

  • 要使用ListView就不得不说说Adapter适配器,因为只有通过Adapter才可以把列表中的数据映射到ListView中。

  • 软件开发中最常用的适配器有ArrayAdapter, BaseAdapter, SimpleAdapter,接下来我们讲解如何使用ListView控件。

  • 列表的显示需要三个元素:

    • 1.ListVeiw 用来展示列表的View。
    • 2.适配器 用来把数据映射到ListView上的中介。
    • 3.数据 (具体信息字符串,图片,或者基本组件)。

    那么存在哪些适配器呢?

Android中的适配器

    BaseAdapter

    ArrayAdapter

    SimpleAdapter

    SimpleCursorAdapter

    CursorAdapter

    HeaderViewListAdapter

    ResourceCursorAdapter

    WrapperListAdapter

常用适配器

  • BaseAdapter是一个最为基础的适配器,用于扩展适配器的适配器。

  • 其中以ArrayAdapter最为简单,只能展示多行一列的数据格式。

  • SimpleAdapter有最好的扩充性,可以自定义出各种效果。

  • SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以列表的形式展示出来。

  • BaseAdapter——->implements ListAdapter ,SpinnerAdapter

    • |—-ArrayAdapter
      |—-SimpleAdapter
      |—CursorAdapter
      **|—-SimpleCursorAdapter

ArrayAdapter

  • ArrayAdapter只有这两种构造方法。T[] 和 List 一般T为Stirng.
  • ArrayAdapter(Context context, int textViewResourceId, List objects)

  • 来装配数据,要装配这些数据就需要一个连接ListView视图对象和数组数据的适配器来完成两者的适配工作,

    ArrayAdapter的构造需要三个参数。

1、Context类型的对象
2、布局文件(注意这里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item_1是系统定义好的布局文件。
3、数据源(一个List集合或者数组)。
同时用setAdapter()完成适配的最后工作。

SimpleAdapter

  • 使用 simpleAdapter 需要注意的是需要用到Map 《String,Object》item 来保存列表中每一项的显示的title与text , new SimpleAdapter的时候将map中的数据写入 ,程序就会帮我们绘制列表。
  • SimpleAdapter(Context context, List< ? extends Map< String, ? > >data,int resource, String[] from, int[] to);
    1、Context类型的对象
    2、数据源(一个List集合< Map< String,Object > >)。
    3、布局文件(注意这里的布局文件描述的是列表的每一行的布局)
    4、每行显示数据的key总和 String[]
    5、每行数据中每个数据对应显示的控件id

  • SDK中大致做了如下的解释:
    简而言之就是方便把从游标得到的数据进行列表显示,并可以把指定的列映射到对应的TextView中。

构造方法
* SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)

作者:张俊强
原文链接点击这里

猜你喜欢

转载自blog.csdn.net/fjnu_se/article/details/80732221