ANDROID 为LISTVIEW构造自定义布局
来源:互联网 发布:银行家算法代码实现 编辑:程序博客网 时间:2024/05/16 19:41
ANDROID 提供的ListView默认只有简单的一列,而我在程序开发中,经常会遇到的问题是,希望ListView能尽量多展示一些信息给我们的用户。所以,需要为ListView去自定义布局,例如,分为多列显示,即生成一张数据表,这些在使用数据库的时候是很有必要的。
当我们使用数据库时,通过查询,返回一个cursor对象,它指向了符合条件的第一条数据,我们可以利用Cursor来生成一个SimpleCursoradapter对象,它的构造器参数有(context c,Cursor cursor,int id,int[ ] from ,int[ ] to); 一个adapter(适配器)决定了ListView展示的信息,包括了它的布局,决定ListView以何种形式展现的参数就是 id ,from,to这3个参数,前者提供了布局文件的位置,from 给出了需要从cursor中取出的字段(文本),to则指向了地址为id的布局文件中的TextView组建序列,这样,ListView一条记录的布局,就是XML文件中定义好的布局,每一个字段的风格,可在XML中的TextView去定义了。
并且,我们可以看到,simpleCursorAdapter继承自simpleadapter,这个父类也包含了自定义的功能,它的构造器包含的参数有(context c,List<?> list,int id ,int [ ] from,int [ ] to);显然它的用法和子类是类似的,唯一的不同是数据源的不同,即它的数据来自一个list<HashMap<>>(),此list对象和cursor是比较类似的,我们将在HashMap中去产生一些键值对,并且每一个HashMap中都包含一条类似数据库的记录,同时,外围的List持有了这些记录,这样这个adapter的用法就确定好了,接下来给出一段代码,即上述
public static SimpleAdapter getAdapter(Context c,String[] array_menu_name,int[] array_menu_image){ArrayList<HashMap<String,Object>> list=new ArrayList<HashMap<String,Object>>();for(int i=0;i<array_menu_name.length;i++){HashMap<String,Object> map=new HashMap<String,Object>();map.put("name", array_menu_name[i]);map.put("image", array_menu_image[i]);list.add(map);}SimpleAdapter adapter=new SimpleAdapter(c,list,R.layout.view,new String[]{"image","name"},new int[]{R.id.img,R.id.tx});return adapter;}
adapter的范例。
- ANDROID 为LISTVIEW构造自定义布局
- Android ListView自定义布局
- android之ListView自定义布局
- android ListView 自定义布局 有多选框
- Android学习ListView自定义布局,适配器BaseAdapter
- Android控件ListView自定义列表布局
- android 为listview设置自定义adapter
- 自定义listview的布局
- listview自定义布局
- LIstView自定义布局
- ListView 自定义item布局 android.widget.LinearLayout$LayoutParams
- ListView 自定义item布局 android.widget.LinearLayout$LayoutParams
- Android 自定义 布局 ListView BaseAadaper 单击高亮选中项
- android listView 自定义布局结合CheckedTextView实现多选
- Android自定义Dialog布局listview 实现显示安装的应用
- Android ListView自定义布局抛java.lang.UnsupportedOperationException的解决
- Android Studio——自定义ListView子项目布局
- Android基础之自定义控件、布局以及ListView控件
- [笔试面试]共同的祖先节点(淘宝2012校招)
- mars老师推荐的学习android路线
- iOS 截屏功能代码
- 镜像网站
- unsigned int nMsgType:8
- ANDROID 为LISTVIEW构造自定义布局
- 集合中装载对象和基本类型的小问题
- 男女用户的不同偏好:扩展型和维护型游戏
- 虚拟机学习总结
- 文档型数据库MongoDB总结
- ora-12514监听程序当前无法识别连接描述符中请求的服务
- OpenCV下的直线拟合
- Android SDK Tools Revision 13 发布
- 里面link的media=”screen”意思