2013-05-05 121 views
-1

BaseAdapter s的用途是什么?什么时候应该用它们代替ArrayAdapter?我一直使用BaseAdapter,但为什么不使用ArrayAdapterArrayAdapter延伸BaseAdapter,因此继承了它的所有方法。使用BaseAdapter比ArrayAdapter有什么优势?

+0

这个问题可能没有很好的答案。人们通常会从最基本的班级开始工作,如果他们需要额外的功能,他们只能从更复杂的班级开始工作。 – 2013-05-05 22:38:46

回答

2

它是D in SOLID,即Dependency inversion principle

换句话说,设计代码时应该依赖于接口和基类,而不是具体的类。尤其是,您应该仅仅依赖于类/界面中“所需功能的最大数量”。如果你不需要比BaseAdapter更多的东西,不要依赖ArrayAdapter。

如果您打算创建自己的适配器,请随时从ArrayAdapter进行扩展(如果适合您的需要)。 BaseAdapter只是几个适配器使用的基本接口,所以需要适配器的类可以使用它。