一、 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

  、一行一行的显示对象

  ①、定义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 ;
      }       /**
      * 缓存的是被遮住的那一行
      */
      @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());   、自定义一个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 ;
      }       @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", "");     data.add(info);     info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "");
    data.add(info);     info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "");
    data.add(info);     info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "");
    data.add(info);     info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "");
    data.add(info);     info = new HashMap<String, String>();
    info.put("name", "wangwu");
    info.put("age", "");
    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. (转载) Android-Spinner的使用以及两种适配器

    目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选      程序员8月书讯      项目管理+代码托管+文档协作,开发更流畅 Android-Spinner的使用以及两种适配器 201 ...

  2. ListView+CheckBox两种解决方式及原因分析

    近期在用ListView+CheckBox搞一个item选中的项目,我将CheckBox的focus设置为false,另我大喜的是,CheckBox居然能够选中(窃喜中),这么简单就搞定了,由于数据量 ...

  3. 【Android自学日记】两种适配器的使用

    ArrayAdapter适配器: (1)用于显示基本的文字内容 (2)基本使用过程:新建适配器---创建或加载数据源---适配器加载数据源---视图加载适配器 ArrayAdapter(上下文,当前L ...

  4. Android ListView两种长按弹出菜单方式

    转自:http://www.cnblogs.com/yejiurui/p/3247527.html package com.wyl.download_demo; import java.util.Ar ...

  5. Android中通过数组资源文件xml与适配器两种方式给ListView列表视图设置数据源

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  6. 一个ListView怎么展示两种样式

    private class MyBaseMsgAdapter extends BaseAdapter { //获取数据适配器中条目类型的总数,修改成两种(纯文本,输入+文字) @Override pu ...

  7. 几种适配器&观察者&ListView之间的那点事

    android中的几种适配器&观察者&ListView 1.我们知道Android中的Adapter类是处于ListView和数据源之间的数据总线,它负责为ListView提供数据. ...

  8. 我的Android进阶之旅------>Android Listview跳到指定条目位置的两种实现方法

    前言 今天实现ListView跳转到第一个条目位置时,使用smoothScrollToPosition(int position)方法跳转实现了,但是交互说不需要这样的动画效果,需要直接跳转到第一项, ...

  9. Android一个ListView列表之中插入两种不同的数据

    http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...

随机推荐

  1. 如何高效判断java数组是否包含某个值

    在java中,我们如何判断一个未排序数组中是否包含一个特定的值?这在java中是一个频繁非常实用的操作.那么什么样的方法才是最高效的方式?当然 ,这个问题在Stack Overflow也是得票率非常高 ...

  2. 又一个改写MBR的病毒(TDSS TDL4)

    此毒为TDSS TDL4 的又一个变种.RIS2011 目前尚未收录此毒.此毒的主要行为是改写MBR,并在硬盘尾部的190个扇区内写入病毒代码.病毒的上述动作可穿透还原类软件对系统的保护.我在Acro ...

  3. 【附3】springboot源码解析 - 构建SpringApplication

    package com.microservice.framework; import org.springframework.boot.SpringApplication; import org.sp ...

  4. UVa 1152 和为0的4个值(二分查找)

    https://vjudge.net/problem/UVA-1152 题意:给定4个n元素集合A,B,C,D,要求分别从中选取一个元素a,b,c,d,使得a+b+c+d=0.问有多少种取法. 思路: ...

  5. Java中的垃圾回收机制

    1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象:而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾.JVM的 ...

  6. Jmeter 4.0 对返回Json处理

    研究这个的目的是:如果返回信息是比较复杂的,需要对返回信息中数据以及数据的层级做断言 我找了一些我们的接口,层级关系都太简单了,最复杂的就是这两个了:[而且都是get接口,原来get接口还要增加测试点 ...

  7. Python day20正则表达式和re方法

    元字符6个函数以及几个元字符1.'.'通配符2.'^'以什么开头3.'$'以什么结尾4.'*'紧挨着的字符0~∞次5.'+'紧挨着的字符1~∞次6.'?'紧挨的字符0次或1次7.'{}' {0,}== ...

  8. Python day13文件的读写

    # 文件操作 f=open("E:\\1.txt",encoding="GBK")#打开文件 print(f.writable())#是否可写 print(f. ...

  9. svg操纵方案 基于 D3 还是 angular?

    之前还是想简单了, 现在重新写这篇.把逻辑拆分粒度的辨析,放到外面去. 问题提出:svg控制方案 基于 D3 还是 angular 根据这个,html 4种展现样式:普通的html,svg,2D ca ...

  10. UEditor自动调节宽度

    UEditor自动调节宽度 一.总结 一句话总结:ueditor是网页的产物,没有API我们照样可以像调网页元素那样调,一样的,这里是改变插件的css样式实现 启示: 百度 文档 引擎 ueditor ...