设为首页 加入收藏

TOP

Android开发学习之Adapter(数据适配器)
2015-08-31 21:25:01 来源: 作者: 【 】 浏览:29
Tags:Android 开发 习之 Adapter 数据 适配器

1.定义


? ? 数据适配器是AdapterView视图(如ListView - 列表视图控件、Gallery -?缩略图浏览器控件、GridView -?网格控件、Spinner - 下拉列表控件、AutoCompleteTextView - 自动提示文本框、ExpandableListView - 支持展开/收缩功能的列表控件等)与数据之间的桥梁,用来处理数据并将数据绑定到AdapterView上。


2.作用


? ?数据适配器是连接数据源和视图界面的桥梁。


3.分类


? ? 包括ArrayAdapter(数组适配器)以及SimpleAdapter(简单适配器)。其中:


4.实现


5.案例


(1)具体用到的类:


(2)代码实例:


ListView listView;
? ? ArrayAdapter arrayAdapter;


? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_violet);
? ? ? ? listView = (ListView) findViewById(R.id.listView);
? ? ? ? String[] data={"苹果","香蕉","桃子","西瓜"};
? ? ? ? arrayAdapter=new ArrayAdapter(this,R.layout.abc_simple_dropdown_hint,data);//上下文,当前ListView加载的每一个列表所对应的布局文件,数据源)
? ? ? ? listView.setAdapter(arrayAdapter);
}


ListView listView;
? ? SimpleAdapter simpleAdapter;


? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_violet);
? ? ? ? listView = (ListView) findViewById(R.id.listView);
? ? ? ? List> data = new ArrayList>();
? ? ? ? String[] persons = {"张老师", "陈老师", "李老师", "黄老师"};
? ? ? ? String[] phoneNums = {"18706218201", "18706214521", "13908761231", "18512390812"};
? ? ? ? for (int i = 0; i < persons.length; i++) {
? ? ? ? ? ? HashMap map = new HashMap();
? ? ? ? ? ? map.put("username", persons[i]);
? ? ? ? ? ? map.put("phoneNum", phoneNums[i]);
? ? ? ? ? ? //插入图片
? ? ? ? ? ? map.put("photo",R.drawable.cc);
? ? ? ? ? ? data.add(map);
? ? ? ? }
? ? ? ? //(context,data,resource,from,to)
? ? ? ? simpleAdapter = new SimpleAdapter(this, data, R.layout.list_item, new String[]{"username","photo", "phoneNum"}, new int[]{R.id.username,R.id.photo, R.id.phoneNum});
? ? ? ? listView.setAdapter(simpleAdapter);
? ? }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android开发学习之Fragment解析 下一篇Android 屏幕旋转 处理 AsyncTask..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: