使用Adapter为ListView提供数据(其一)

通常我们需要展示一些列表集合数据到手机屏幕时,通常采用ListView组件,该组件提供一些可以定制的列表展示功能,但是它需要数据源,android通过数据适配器来沟通ListView与数据源。可以充当ListView数据设配器的adapter有很多,可定制性也更加广泛。通常有如下几种:

ArrayAdapter  SimpleAdapter CursorAdapter ,他们都来继承自BaseAdapter。

结构

继承关系

public interface ListAdapter extends Adapter

        

android.widget.ListAdapter

 

子类及间接子类

直接子类

         ArrayAdapter<T>, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, WrapperListAdapter

从上述可以知道,ListView需要的是继承自ListAdapter接口的类,也可以知道它的一些子类是我们需要讲到的,现在开始

现在我们首先采用ArrayAdapter,ArrayAdapter<T> 它接受一个泛型对象。在这里我们可以使用String类型,用来表示文字吧。

我们提供字符串数组作为数据源,当然也可以是List<String>

private String [] list={"ArrayAdapter","ArrayAdapter","ArrayAdapter","ArrayAdapter"};

我们查看ArrayAdapter构造函数的参数定义。

public ArrayAdapter (Context context, int textViewResourceId, T[] objects)

其中第一个参数:表示由那个上下文来控制,第二个参数:布局文件ID,第三个参数:泛型的集合对象或者数组。

于是,我们可以采用这样的形式:

 ArrayAdapter<String> adapter=new ArrayAdapter<String>
    (this, android.R.layout.simple_list_item_1, list);
    listView.setAdapter(adapter);

  它显示的是一组字符串,每个项是按照系统默认的布局文件android.R.layout.simple_list_item_1。

 使用ArrayAdapter通常是用来表示字符串列表的,如果你想实现更为复杂的列表项,那么请看余下几节。

运行如下:

 

posted @ 2011-04-15 12:23  东子哥  阅读(8125)  评论(3编辑  收藏  举报