BaseAdapter或ArrayAdaptor - Android

Cas*_*ash 18 android

我将制作一个图像网格,我试图弄清楚是使用数组适配器还是baseadaptor.虽然GridView示例将数据存储在数组中,但它使用BaseAdapter而不是ArrayAdaptor.我很好奇为什么会这样.我注意到有关ArrayAdapter的一件事是它的构造函数textViewResourceId出于一些未知的原因 - 虽然文档说getView可以用来使它也适用于其他类型的视图.那么,如果我想要一个菜单​​的固定图像网格,你会建议选择哪个类?

Com*_*are 48

您通常根据模型数据选择适配器类.如果您有一个ArrayList对象,请使用ArrayAdapter.如果您有Cursor来自数据库查询,请使用CursorAdapter.BaseAdapter可以用于任何事情,但它需要更多的编码,因为它没有关于如何迭代数据的固有知识.

  • @Casebash:http://github.com/commonsguy/cw-android/tree/master/FancyLists/Recycling/ (2认同)
  • 稍晚一点,但我注意到当应用于网格视图时,非常大的数据集和ArrayAdapter存在一些效率问题.用扩展的BaseAdapter替换ArrayAdapter修复了我尝试显示数千个图像列表时遇到的问题. (2认同)