• listView和ListAdapter


    //新建一个ListView,也就是新建一个列表,在新建一个组件是会将一个Content传递给构造函数
    listView = new ListView(this); 
    // 将ListView和ArrayAdapter进行绑定,listview会把ArrayAdapter里面的数据显示出来

    // ArrayAdapter的第一个参数是Context,即上下文的引用

    // 第二个参数为一个在R文件里定义的Layout,不过是系统的R文件

    // simple_list_item_single_choice表明ListView里边的每一项都只有一个TextView

    // 第三个参数为一个数组
    listView.setAdapter(new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_single_choice, data)); 
    listView.setItemsCanFocus(true);
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    // 将listView内容直接进行显示

    setContentView(listView);

    Adapter --(继承)--> ListAdapter

                     |--(直接子类)-->  ArrayAdapter

                     |--(直接子类)-->  SimpleAdapter

    • 什么是ListAdapter?

    ListAdapter继承于Adapter,它是ListView和其里面数据的适配器。也就是要让一个ListView显示出来需要三个东西:

    1. ListView (需要被显示的列表)。

    2. Data, 和ListView绑定的数据,一般是一个Cursor或者一个字符串数组。

    3. ListAdapter,是data和ListView的桥梁,起一个适配器的作用。

    • 什么是ArrayAdapter?

    ArrayAdapter是ListAdapter的一个直接子类,意思是数组适配器。

    它的作用就是一个数组和ListView之间的桥梁。它将数组里定义的数据一一对应的显示在ListView里,通常有ArrayAdapter进行适配 的ListView每一项通常只有一个TextView,而TextView里面显示的内容就是数组里面的对象调用toString()方法后生成的字符 串。

    • SimpleAdapter

    SimpleAdapter也是ListAdapter的直接子类。通过SimpleAdapter可以让ListView当中的每一项里边的内容更加个 性化。通常将ListView中某项的布局信息写在一个xml的布局文件当中。这个布局文件通过R.layout.file获得。

    ArrayAdapter的作用是数组和ListView间的桥梁;而SimpleAdapter的作用是ArrayList和ListView间的桥梁。

    注意,这个ArrayList里面的每一项都是一个Map<String,?>类型。ArrayList当中的每一项Map对象都喝ListView当中的一项进行数据绑定和一一对应。

    • Android系统默认的布局方式

    Android.R.layout_simple_list_item_1, 每一项只有一个TextView.

    Android.R.layout_simple_list_item_2, 每一项只有两个TextView.

    Android.R.layout_simple_list_item_single_choice, 每一项有一个TextView,但是这一项可以被选择。

  • 相关阅读:
    序列终结者
    CF696C PLEASE
    [清华集训]Rmq Problem / mex
    CF786B Legacy
    链表结构详解
    synchronized同步方法和同步代码块的区别
    关于守护线程定义
    线程的优先级
    mysql查询当天的数据
    java以正确的方式停止线程
  • 原文地址:https://www.cnblogs.com/mumue/p/2479151.html
Copyright © 2020-2023  润新知