2012-07-24 42 views

回答

42

BaseAdapter顾名思义,它是所有适配器的基类。

当你扩展你需要实现像getCount()所有方法基本适配器类,getId()

ArrayAdapter是可以与数据的阵列工作的一类。您只需要覆盖getview()方法。

ListAdapter是一个由具体适配器类实现的接口。

BaseAdapter是一个抽象类,而ArrayAdapterListAdapter是具体的类。

ArrayAdapter and ListAdapter类是由于我​​们通常处理数组数据集和列表数据集而开发的。

+6

你是说'ArrayAdapter'是一个具体的类正确的。但是,'ListAdapter'不是一个类,它是由'BaseAdapter'实现的一个接口。简而言之,您可以使用现成的'ArrayAdapter',或者编写自己的扩展'BaseAdapter'的适配器。 – Spinner 2012-08-22 10:47:40

+0

我有问题,我想在我的项目中使用DataBase填充用户数据,填充后,所有项目都将显示在ListView中。但我不知道哪个适配器对我来说很有用?ArrayAdapter或BaseAdapter?请帮帮我。谢谢 – 2015-03-13 16:58:22

+0

它应该是CursorAdapter请参阅http://developer.android.com/reference/android/widget/CursorAdapter。html – 2015-03-16 06:18:35

41

ListAdapter

它是扩展适配器这是一个ListView和支持List的数据之间的桥的接口。

BaseAdaper

公共基类为适配器常见的实现,可以在两个ListView中被使用(通过实现专门ListAdapter接口}和微调(通过实现专门SpinnerAdapter接口。

ArrayAdapter

由任意对象的数组支持的具体BaseAdapter。

请参阅下面的链接

  1. ListAdapter

  2. BaseAdapter

  3. ArrayAdapter

+2

请注意,ListAdapter是一个接口,而另外两个是实现ListAdapter(一个间接)的类。 – Spinner 2012-08-22 10:49:53

+3

你可以给我一个实例什么时候我会使用基地和阵列适配器? – user1708134 2013-03-31 04:25:39