Android开发基础之Adapter
来源:互联网 发布:java二维数组 编辑:程序博客网 时间:2024/05/17 23:57
1, Adapter介绍
Adapter是用来帮助填充数据的中间桥梁,通过它可以将数据填充到ListView、GridView、Gallery。根据数据来源形式的不同可以选择不同的Adapter,例如,数据来源于一个Arraylist就使用BaseAdapter、SimpleAdapter。
2, Adapter的体系结构
一个Adapter的对象扮演一个桥梁的角色。这个桥梁连接着一个AdapterView和它所包含的数据。Adapter提供了一个通到数据项的途径。Adapter还负责为数据集里的每个数据项生成一个View。他有一个重要的方法getView,他的作用是得到一个显示数据项里知道文字的数据,
3, Adapter的使用
当复杂的数据需要通过复杂的View来显示时,Adapter是最实用、最方便的解决方案。常用的Adapter有ListAdapter、SimpleAdapter、ArrayAdapter和CursorAdapter,它们都继承自BaseAdapter,有各自的优缺点,通常在使用时需要针对功能的需求选择合适的Adapter并对其进行扩展。AdapterView是用来通过某种方式来显示重复的View对象的一类View的总称, AdapterView中会包含一系列的子View如ListView、GridView和GalleryView等。
下面用ArrayAdapter和SimpleAdapter来通过例子说明如何使用Adapter,它们可以快速地修改要绑定的控件的外观和功能。ArrayAdapter操作的是数组或List数据,它能够把数组的每一个元素与布局资源中单独的一个View绑定。
ArrayAdapter(Context context, int resource)
ArrayAdapter(Context context, int resource, int textViewResourceId)
ArrayAdapter(Context context, int resource, T[] objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int resource, List objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, List objects)
Context:当前上下文
textViewResourceId:和数据绑定的View组件ID
resource:布局文件的ID
objects:和View组件绑定的数据
SimpleAdapter可以将List中的数据按照指定的顺序绑定到View组件,其构造方式为:
SimpleAdapter(Context context, List
String[] data=new String[10]; for(int i=0;i<10;++i){ data[i]="text"+i; } ArrayAdapter arrayAdapter=new ArrayAdapter( this,android.R.layout.simple_list_item_1,R.id.rowText,data ); setListAdapter(arrayAdapter);
绑定了ArrayAdapter与ListView后,Android系统将自动识别ArrayAdapter中数据源的长度,并根据此长度创建ListView中的条目。
String[] data1=new String[10]; String[] data2=new String[10]; for(int i=0;i<10;++i){ data1[i]="text1"+i; data2[i]="text2"+i; } ArrayList<HashMap<String, Object>> list=new ArrayList<HashMap<String,Object>>(); for (int i=0;i<10;++i){ HashMap<String, String> map=new HashMap<>(); map.put("text01",data1[i]); map.put("text02",data2[i]); list.add(map); } SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,android.R.layout.simple_list_item_1, new String[]{"text01","text02"},new int[]{R.id.rowText,R.id.rowText2}); setListAdapter(simpleAdapter);
注意:SimpleAdapter的数据源是List类型的;from里的key值的顺序和to中ID值的顺序应该是一一对应。
- Android开发基础之Adapter
- Android基础之Adapter
- Android开发之adapter
- Android快速开发之Adapter
- Android基础 学习之List 和 Adapter
- Android-UI开发之Adapter及Adapter控件
- Android开发之:Adapter的继承结构
- Android开发之:Adapter的继承结构
- Android开发之:Adapter的继承结构
- Android开发之ListView Adapter优化
- Android简单开发之 通用Adapter ViewHolder
- Android开发之 。。各种Adapter的用法
- Android开发笔记之Adapter用法
- Android开发之 gridview的Adapter
- Android开发之ListView Adapter 模板
- Android 开发之 RecyclerView Adapter 模板
- Android基础-适配器Adapter
- Android UI基础之ListView 和适配器Adapter
- Json数据手动解析
- unable to start activity componentinfo java lang nullpointerexception
- struts2拦截器的实现原理及源码剖析
- 51nod1393 01串相等 思维
- android基本架构
- Android开发基础之Adapter
- 大道至简,悟在天成
- Android面试——Activity的四种启动模式
- SVN服务端 Subversion安装与配置 注意的细节问题
- java锁(1)之ReentrantLock
- eclipse环境搭建之四:Go。但没有成功,后转为LiteIDE。
- 40. Combination Sum II leetcode Python 2016 new season
- iOS之UIScrollview添加约束图文详解
- Android中数据的存储方式