博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习之适配器ArrayAdapter SimpleAdapter
阅读量:6154 次
发布时间:2019-06-21

本文共 3796 字,大约阅读时间需要 12 分钟。

        Adapter是个什么角色呢?其实它的作用就是View界面和数据之间的桥梁。我们可以看作是界面数据绑定的一种理解,它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。

常用的适配器有:

(1)ArrayAdapter;             数组作为数据源,填充的是ArrayAdapter   

(2)SimpleAdapter;           List作为数据源,填充的是SimpleAdapter

(3)SimpleCursorAdapter; 数据来源一般都是数据库查询得到的Cursor

(4)自定义适配器;               为什么要定义自己的适配器呢?原因就在于,当我们想用一些其它的展现方式,或者是我们需要的,呈现方式,这是就得DIY了。首先我们定义一个类让它继承自BaseAdapter,再让它实现一里面所说的那几个方法。那么这个自定义适配器就算好了。

下面我们看个实例就明白了:

一 .ArrayAdapter

1.xml代码:

1 
2
6 7
11 12

2.java代码:

1 package com.example.arrayadapter; 2  3 import java.util.ArrayList; 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.widget.ArrayAdapter; 7 import android.widget.ListView; 8  9 public class MainActivity extends Activity {10     private ListView mListView;11     private ArrayList
mArrayList = null;12 13 @Override14 protected void onCreate(Bundle savedInstanceState) {15 super.onCreate(savedInstanceState);16 setContentView(R.layout.activity_main);17 mListView = (ListView) findViewById(R.id.myArrayList);18 mListView.setAdapter(new ArrayAdapter
(this,19 android.R.layout.simple_expandable_list_item_1, getData()));20 }21 22 private ArrayList
getData() {23 mArrayList = new ArrayList
();24 mArrayList.add("item1");25 mArrayList.add("item2");26 mArrayList.add("item3");27 mArrayList.add("item4");28 mArrayList.add("item5");29 mArrayList.add("item6");30 mArrayList.add("item7");31 mArrayList.add("item8");32 mArrayList.add("item9");33 mArrayList.add("item10");34 return mArrayList;35 }36 }

3.效果图:

二.SimpleAdapter

 simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方面显示而已。

1.XML代码:

1 
2
6 7
12 13
17 18
23 24
29
30 31

2.java代码:

1 package com.example.simpleadapter; 2  3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 import java.util.Map; 7 import android.app.ListActivity; 8 import android.os.Bundle; 9 import android.widget.SimpleAdapter;10 11 public class MainActivity extends ListActivity {12     @Override13     public void onCreate(Bundle savedInstanceState) {14         super.onCreate(savedInstanceState);15         SimpleAdapter adapter = new SimpleAdapter(this, getData(),16                 R.layout.simple, new String[] { "title", "content", "img" },17                 new int[] { R.id.title, R.id.content, R.id.img });18         setListAdapter(adapter);19     }20 21     private List
> getData() {22 List
> list = new ArrayList
>();23 Map
map = new HashMap
();24 map.put("title", "SimpleAdapter");25 map.put("content",26 "SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法");27 map.put("img", R.drawable.m4);28 list.add(map);29 30 map = new HashMap
();31 map.put("title", "SimpleAdapter");32 map.put("content",33 "SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法");34 map.put("img", R.drawable.m4);35 list.add(map);36 37 map = new HashMap
();38 map.put("title", "SimpleAdapter");39 map.put("content",40 "SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法");41 map.put("img", R.drawable.m4);42 list.add(map);43 44 map = new HashMap
();45 map.put("title", "SimpleAdapter");46 map.put("content",47 "SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法SimpleAdapter用法");48 map.put("img", R.drawable.m4);49 list.add(map);50 51 return list;52 }53 }

3.效果图:

由于写在一个页面感觉太长了,所以下一篇继续总结SimpleCursorAdapter和自定义适配器~~~~~~~~~

转载地址:http://onifa.baihongyu.com/

你可能感兴趣的文章
Activity生命周期
查看>>
高仿UC浏览器弹出菜单效果
查看>>
Ubuntu忘记密码,进不了系统的解决方法
查看>>
[原创]白盒测试技术思维导图
查看>>
<<Information Store and Management>> 读书笔记 之八
查看>>
Windows 8 开发之设置合约
查看>>
闲说HeartBeat心跳包和TCP协议的KeepAlive机制
查看>>
MoSQL
查看>>
Hibernate多对一外键单向关联(Annotation配置)
查看>>
《CLR via C#》读书笔记 之 方法
查看>>
设计模式:组合模式(Composite Pattern)
查看>>
ContentValues 和HashTable区别
查看>>
LogicalDOC 6.6.2 发布,文档管理系统
查看>>
给PowerShell脚本传递参数
查看>>
实战2——Hadoop的日志分析
查看>>
利用FIFO进行文件拷贝一例
查看>>
Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
查看>>
resmgr:cpu quantum等待事件
查看>>
一个屌丝程序猿的人生(六十六)
查看>>
Java 编码 UTF-8
查看>>