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去定义了。
- 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;
- }
继续阅读
评论