Android ListView的使用

来源:互联网 发布:sql表里的date字段相等 编辑:程序博客网 时间:2024/04/29 10:01

Android ListView的使用

一、Adapter

Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(List View,Grid View)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:

• BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性;
• ArrayAdapter支持泛型操作,最为简单,只能展示一行字。
• SimpleAdapter有最好的扩充性,可以自定义出各种效果。
• SimpleCursorAdapter 可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。如需要实现更复杂的UI也可以重写其他方法。可以认为是 SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。
• 一定要以数据库作为数据源的时候,才能使用SimpleCursorAdapter。

二、ListView 列表视图

组件属性:

android:drawSelectorOnTop="true"
点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false"
点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的

匹配筛选:

listView.setTextFilterEnabled(true);

创建方法:

在使用ListView控件来显示数据时,有两种实现方式:
第一种实现方式: 在xml中定义<LIstView>布局对象,设置它的相关属性,然后在Activity中对它进行配置和事件监听;
第二种实现方式: 让你的 Activity 类继承 ListActivity,可以通过getListView()来获取,可以不写ListView的xml文件。

绑定数据:

setListAdapter( ArrayAdapter<object>( ));
在ListAdapter的众多子类当中,用的最多的就是ArrayAdapter(存储数组)、SimpleAdapter(字符串)、CursorAdapter(数据库中的数据)。

流程:

List为数据源,ListAdapter为适配器接口,连接view视图和数据源的桥梁,ListView为视图,通常显示数据列表。

例子:
listItem = new ArrayList<HashMap<String, Object>>();HashMap<String, Object> map = new HashMap<String, Object>();map.put("viewspot", "深圳大学" + i);map.put("add", R.drawable.right);listItem.add(map);listItemAdapter=new SimpleAdapter(getApplicationContext(), listItem, R.layout.items, new String[] { "viewspot", "add" }, new int[] { R.id.viewspot, R.id.add });listview.setAdapter(listItemAdapter);listview.setonItemClickListener();
方法:

添加数据:
listItem.add(map);
删除数据:
listItem.remove(number);
修改数据:
listItem.set(number, map);
更新数据:
listItemAdapter.notifyDataSetChanged();

0 0
原创粉丝点击