今天学习ListView GridView。
Android Listview SimpleCursorAdapter
使用这个适配器,当数据源是一个数据库游标。SimpleCursorAdapter必须使用光标指定一个布局中的每一行,哪些应该被插入到光标列布局的视图。
例如,创建一个列表人的姓名和电话号码,可以执行一个查询,返回游标包含每个人的姓名和号码列。然后创建一个字符串数组,指定列游标,在每个结果的布局和一个整数数组指定每一列放在相应的视图:
String[]fromColumns ={ContactsContract.Data.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER};
int[]toViews ={R.id.display_name,R.id.phone_number};
SimpleCursorAdapter 实例化时,通过为每个要使用的布局,包含结果的游标和这两个数组:
SimpleCursorAdapteradapter =newSimpleCursorAdapter(this,
R.layout.person_name_and_number,cursor,fromColumns,toViews,0);
ListViewlistView =getListView();
listView.setAdapter(adapter);
SimpleCursorAdapter 创建一个视图的每一行游标使用所提供的布局插入每个fromColumns 项的相应 toViews 视图。
GridView
Android 的 GridView 以二维滚动网格(行和列)显示项目,网格项目不一定是预定的,但它们会自动使用 ListAdapter 布局插入。
一个适配器实际上是UI组件和数据源之间的桥梁,填充数据到UI组件。适配器可以用来提供数据,如:微调,列表视图,网格视图等。
ListView 和 GridView 是 AdapterView 的子类,它们可以绑定填充到一个适配器,从外部源检索数据,并创建一个视图表示每个数据项。
GridView属性描述
android:id这是唯一标识的布局的ID。
android:columnWidth这指定了固定的宽度为每列。这可能是px, dp, sp, in, 或者mm。
android:gravity指定每个单元内的重力。可能的值是top, bottom, left, right, center, center_vertical, center_horizontal 等。
android:horizontalSpacing定义列之间的默认水平间距。可能形式为:px, dp, sp, in或mm。
android:numColumns定义了要显示多少列。可以是一个整数值,例如“100”或auto_fit这意味着显示尽可能多的列可能填补可用空间。
android:stretchMode定义列应如何拉伸以填充可用的空白,如果有的话。值必须是:
none: 延长被禁止。
spacingWidth: 每一列之间的间距被拉伸。
columnWidth: 每列被均等地拉伸。
spacingWidthUniform: 每一列之间的间距被均匀拉伸。
android:verticalSpacing定义的行之间的缺省垂直间距。这可能是 px, dp, sp, in, 或 mm。