我目前有四个数组,需要在自定义布局列表单元格中填充各种元素。 我看过基本适配器和阵列适配器。后者要求输入数据是对象的ArrayList。
从性能角度来看,使用基本适配器或将当前数据集转换为对象的ArrayList会更好吗,因此可以选择使用更多内存吗?
答案 0 :(得分:1)
使用BaseAdapter
。删除使用ArrayList
的要求可使实施更加灵活。您需要做的唯一额外工作是实现一些基本方法,如getCount() - 很可能是集合的长度 - 或getObject() - 这可能是您在列表中所处位置的对象。您甚至可能需要实现自己的构造函数,但这只是使用OOP的一部分。没有大碍。
使用一个适配器而不是另一个适配器没有性能差异。 BaseAdapter
是多个不同适配器类型的超类(ArrayAdapter
是其中之一)。如果没有成本,那么不使用BaseAdapter
是没有意义的。您将获得完全相同的结果,并且具有更高的灵活性。
答案 1 :(得分:0)
如果在创建适配器时拥有所有数据,我建议使用ArrayAdapter。它的代码更少,因此错误的空间更小。如果您想要即时填充项目,或者您的数据集可能会发生显着变化,那么您可能希望通过自己的适配器进行额外的控制。