三种Android适配器

原创 2016年06月01日 17:44:52

 第一种:arrayAdapter

               听名字就知道,这是一种以一种类似数组的方式来存储数据,然后再传递的适配器,也是比较简单的适配器。

               用法:1)建一个ListView控件,并加上id,方法与textView一样;另外再单独建一个textView单没有布局;

                         2)实例化ListView得到mLextView,并监听;

                         3)  获得数据源,如String[] data={"java","android","j2se","html","wphone","net","javaScript"};就是列出你                                想展示的东西;

                         4)  实例化适配器  arrayAdapter adapter=new arrayAdapter (this,R.DANDUtxt_layout,data);

                         5)  链接适配器与数据源     mLextView.setAdapter(adpter);



 第二种:simpleAdapter

               据说这是最难最常用的适配器之一;用法与arrayAdapter大同小异;

               

用法:1)建一个ListView控件,并加上id,方法与textView一样;另外再单独建一个布局,内容根据实际情况来写;

                         2)实例化ListView得到mLextView,并监听;

                         3)  获得数据源,这里会用到HASHMap和ArrayList来存储数据;                    

                         4)  实例化适配器  arrayAdapter adapter=new arrayAdapter (this,R.DANDUtxt_layout,data);

                         5)  链接适配器与数据源     mLextView.setAdapter(adpter);

                         


  第三种:baseAdapter 自定义适配器,也是我认为最难的一种,这里我只有一点的经验可以分享;

               用法:1)建一个类继承自baseAdapter;里面要实现4种方法;如图

                                

                                这里前三种方法都比较简单,我上面已经写好了,就第四种才是真正自定义的部分;

                                在这里一般思路是先定义一个layoutinflater将你写的布局解析成view控件,再从中分别取值;

                                将数据源的值赋给取到的view控件;最后就可以使用这个自己定义的适配器了

                                 下面来举个例子,

                                  public View getView(int position, View convertView, ViewGroup parent) {
        View v = layoutInflater.inflate(R.layout.item_adapter_simple_view,null);//将布局解析生成View对象
        //从View对象中获取控件实例
        ImageView iconImg = (ImageView) v.findViewById(R.id.adapter_simple_imageview);
        TextView titleTxt = (TextView) v.findViewById(R.id.adapter_simple_title_txt);
        TextView contentTxt = (TextView) v.findViewById(R.id.adapter_simple_content_txt);


        HashMap<String,Object> item = (HashMap<String, Object>) getItem(position);
        int icon = (int) item.get("icon");
        String title = (String) item.get("title");
        String content = (String) item.get("content");


//        iconImg.setBackgroundResource(icon);  // 通过代码设置ImageView背景  background
        iconImg.setImageResource(icon); //通过代码设置 ImageView控件内容  src
        titleTxt.setText(title);
        contentTxt.setText(content);


        return v;
    }

   

                         

android中的三种适配器

第一种: ArrayAdapter(只能显示单一的TextView) /** *第一个参数填上下文对象 *第二个参数填每个item的布局文件(注意ArrayAdapter的item布局文件只能是...
  • LDH_123
  • LDH_123
  • 2016年12月03日 08:58
  • 1341

android ViewPager三种适配器

1.PagerAdapterpagerAdapter是FragmentPagerAdapter以及FragmentStatePagerAdapter的基类。我们自定义适配器继承该类时,至少需要实现: ...

Android 中ArrayAdapter,SimpleAdapter,BaseAdapter三种适配器的使用

ListView中使用ArrayAdapter,SimpleAdapter,BaseAdapter这三种适配器

AndroidListView的三种适配器用法

  • 2016年01月06日 10:52
  • 312KB
  • 下载

ListView的数据显示,三种适配器绑定方式

public void OnCreate(){ ... listView=(ListView)findViewById(R.id.listview); //点击条目的事件 listView.s...

设计模式之适配器模式(三种实现) JAVA

适配器模式 定义:适配器你可以看作是一个中间件,对于不匹配的两个东西进行匹配,就像转换器或者转接头一样。举个例子,比如你的电源插座只有两相插座,但是你的笔记本需要三相插座,那怎么办?不匹配啊,你插不进...

设计模式(二) 三种适配器模式 总结和使用场景

转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52703280本文出自:【张旭童的博客】一 概述定义:适配器模式将某个类的接口转换成客...
  • zxt0601
  • zxt0601
  • 2016年10月18日 16:34
  • 2485

ListView 的三种适配器 BaseAdapter ArrayAdapter SimpleAdapter(1)

技术文档开篇,就从ListView写起,不知道算不算专业,在工作中ListView是我写过最多的控件,ListView几乎是Android中万能的容器,处处都能看到,再加上各种自定义的ListView...

一、 XML的三种解析方法 二、适配器模式简介 三、XML 文档使用栈分析

XML 的三种解析方式 和 自己实现对XML文档的解析
  • zidigua
  • zidigua
  • 2016年05月02日 00:44
  • 121

UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView

AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类: (1)ListView:简单的列表 (2)Spinner:下拉列表,给用户提供选择 (3)Ga...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三种Android适配器
举报原因:
原因补充:

(最多只允许输入30个字)