Android 控件之ListView
--学习笔记5(金海建)
目的:学习listview的使用方法
在Android中listview是比较常用的控件,根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
Listview的实现:
1.准备ListView要显示的数据,一维数组、多维数组
2.根据不同的应用,构建适配器
3.把适配器添加到ListView中。
写一个简单的程序,添加三个菜单,分别来测试ArrayAdapter、SimpleCursorAdapter和SimpleAdapter
ArrayAdapter
listviewlayout.xml
上面的代码使用了ArrayAdapter(Context context, int textViewResourceId, T[] objects)来构建Adapter。
textViewResourceId为listview视图的layout,在listviewlayout.xml中定义了TextView的layout。T[]object就是我们要传入的字符串数组。最后调用ListView的setAdapter来显示。
运行效果如下:
SimpleCursorAdapter
SimpleCursorAdapter跟ArrayAdapter的区别在于,SimpleCursorAdapter的数据来源自数据库,通过Cursor来获取。看来SimpleCursorAdapter 的构造函数。SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to),前两个参数跟ArrayAdapter一样,c是数据库游标指针,form是数据库的列,用字符表示,to表示要显示的控件的id。From和to是一一对应。这样每一列都对应一个控件的显示。
我们现在模拟器上建立几条联系人,然后读取联系人、显示到ListView中。
效果图
SimpleAdapter
从数据库中读取号码,然后显示出来。去具体的联系人信息要用到ContactsContract.CommonDataKinds.Phone.CONTENT_URI
代码如下:
效果图: