一、 ArrayAdapter

  ListView listView = (ListView) findViewById(R.id.list_view);//ListView的参数为id

  listView.setAdapter(new ArrayAdapter<Person>(this, android.R.layout.simple_list_item_1, list));//对象是Person,第一个参数是context,第二个是指代要显示的模版,最后一个是要显示的数据,list为person类的ArrayList集合。

二、 BaseAdapter

  1、一行一行的显示对象

  ①、定义MyAdapter来继承BaseAdapter

   class MyAdapter extends BaseAdapter {

      @Override
      public int getCount() {
        return list.size();//list为person对象的List
      }

      @Override
      public Object getItem(int position) {
        return null;
      }

      @Override
      public long getItemId(int position) {
        return 0;
      }

      /**
      * 缓存的是被遮住的那一行
      */
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {

        TextView textview = null;

        if (null != convertView) {
        textview = (TextView) convertView;
        } else {
        textview = new TextView(MainActivity.this);
        }

        textview.setText(list.get(position).toString());

        return textview;
      }

   }

   ②、设置适配器

    ListView listview = (ListView) findViewById(R.id.list_view);

      listview.setAdapter(new MyAdapter());

  2、自定义一个xml,加入到ListView中再一行一行显示

    ①、定义自己的要显示的一行的内容布局文件----list_item.xml

    ②、定义MyAdapter来继承BaseAdapter    

    class MyAdapter extends BaseAdapter
    {

      @Override
      public int getCount() {
        return list.size();
      }

      @Override
      public Object getItem(int position) {
        return null;
      }

      @Override
      public long getItemId(int position) {
        return 0;
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        //布局转换器 作用就是讲一个布局转换为一个对象
        LayoutInflater flater = MainActivity1.this.getLayoutInflater();
        View view = flater.inflate(R.layout.list_item, null); //真正将一个布局文件转为一个对象
        //在一个特定的对象上去查找一个ID所对应的组件
        TextView text_name = (TextView) view.findViewById(R.id.list_view_name);
        TextView text_age = (TextView) view.findViewById(R.id.list_view_age);
        Person person = list.get(position);
        text_name.setText(person.getName());
        text_age.setText(String.valueOf(person.getAge()));
        return view;
      }
    }

  ③、设置适配器

     ListView listview = (ListView) findViewById(R.id.list_view);

     listview.setAdapter(new MyAdapter());

三、SimpleAdapter,显示的一行内容里面包含多行数据

  ①、定义自己的要显示的一行中要显示的多行的布局文件----list_item.xml

  ②、设置适配器(代码的意思是要显示的多行xml中是一行name,一行age);  

    ListView listview = (ListView) findViewById(R.id.list_view);

    List<Map<String, String>> data = new ArrayList<Map<String, String>>();

    Map<String, String> info = new HashMap<String, String>();
    info.put("name", "zs");
    info.put("age", "20");

    data.add(info);

    info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "111");
    data.add(info);

    info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "111");
    data.add(info);

    info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "111");
    data.add(info);

    info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "111");
    data.add(info);

    info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "111");
    data.add(info);

    SimpleAdapter simple = new SimpleAdapter(this, data,
    R.layout.list_item, new String[] { "name", "age" }, new int[] {
    R.id.list_view_name, R.id.list_view_age });

    listview.setAdapter(simple);

ListView的几种形式的更多相关文章

  1. 代替jquery $.post 跨域提交数据的N种形式

    跨域的N种形式: 1.直接用jquery中$.getJSON进行跨域提交 优点:有返回值,可直接跨域: 缺点:数据量小: 提交方式:仅get (无$.postJSON) $.getJSON(" ...

  2. C++:一般情况下,设计函数的形参只需要两种形式

    C++:一般情况下,设计函数的形参只需要两种形式.一,是引用形参,例如 void function (int &p_para):二,是常量引用形参,例如 void function(const ...

  3. jquery插件的两种形式

    这里总结一下jquery插件的两种形式,一种是通过字面量的形式组织代码,另一种是通过构造函数的方式.下面就两种形式来分析俩个例子. 例子1: ;(function ($,window,document ...

  4. javascript面向对象系列第三篇——实现继承的3种形式

    × 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...

  5. 移动端App广告常见的10种形式

    什么是App广告?   App广告,或称In-App广告,是指智能手机和平板电脑这类移动设备中第三方应用程序内置广告,属于移动广告的子类别. App广告兴起得益于其载体—App的风行.平板电脑和大屏触 ...

  6. SQL 关于apply的两种形式cross apply 和 outer apply(转)

    转载链接:http://www.cnblogs.com/shuangnet/archive/2013/04/02/2995798.html apply有两种形式: cross apply 和 oute ...

  7. Struts2中Action接收参数的四种形式

    1.Struts2的Action接收参数的三种形式.      a. 使用Action的属性接收(直接在action中利用get方法来接收参数):                   login.js ...

  8. Node.js-提供了四种形式的定时器

    Node.js提供了四种形式的定时器 global.setTimeout(); //一次性定时器 global.setInterval(); //周期性定时器 global.nextTick(); / ...

  9. 参数传递的四种形式----- URL,超链接,js,form表单

    什么时候用GET,  查,删, 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...

随机推荐

  1. 加载网络映射盘中的assembly失败

    我有一个网络映射盘,盘符是Z:.在Z盘下面,放了一个assembly,名为test.dll.然后,我在VS2010中建立了一个.NET 4.0的工程,程序中有下面一段代码: string dll = ...

  2. Python第九章模块和包(2)

    1.如果文件下没有__init__.py文件,程序将不会认为这是一个Python的包. 2.如果要使用from 包  import  *  则需要 这样做. 是模块中包含 方法 的文件没有包含类: # ...

  3. adb shell am force-stop <package>

    •adb shell am force-stop <package>关闭程序的adb命令

  4. Chapter Configuration

    Chapter Configuration 在Web.config 或App.config的configuration节,插入如下配置: <configuration> …… <co ...

  5. 动手学servlet(三) 请求头和响应头信息

    获取请求头信息 package servletdemo; import java.io.IOException; import java.util.Enumeration; import javax. ...

  6. canvas-a10isPointPath2.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 优秀的前端上传文件插件 web uploader

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览 ...

  8. java学习之(内部类)

      大部分时候,类被定义成一个独立的程序单元,在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,内部类有如下特点:  1.内部类提供了更好的封闭,可以把内部类隐 ...

  9. Retina CS强大漏洞检测工具

    RetinaCS强大漏洞检测工具 Eeye数字安全公司成立于上世纪九十年代末期,它是世界领先的安全公司,它采用最新研究成果和创新技术来保证您的网络兄系统安全,并向您提供最强大的如下服务:全面的.漏洞评 ...

  10. 【HTML/XML 8】XSL,可扩展样式表语言

    导读:上篇博客说了在XML文档中实现表现形式的一种形式:CSS层叠样式表,本篇博客将接着说明其另一种实现方式XSL,并将分析XSL和CSS之间的 关系. 一.XSL简介 XSL(eXtensible ...