我正在创建一个自定义ListView,它将容纳具有不同布局的行(即标题和可点击项)。我的自定义适配器类扩展适配器超过BaseAdapter有什么特别的区别吗?在任何一种情况下,我看起来都需要覆盖相同的方法(getItem,getView ... ect)。有任何性能差异吗?或者如果你调用super.method(),你会为你做一些实现吗?我知道BaseAdapter是Adapter的子类,但是你从中得到了什么额外的功能呢?
干杯, 路加。
答案 0 :(得分:5)
看起来我需要在任何一种情况下覆盖相同的方法(getItem,getView ... ect)
如果从BaseAdapter
继承而不是创建Adapter
接口的完整实现,则必须实现更少的方法。例如,BaseAdapter
为您处理registerDataSetObserver()
和unregisterDataSetObserver()
。
是否有任何性能差异?
通常不会。
我理解Adapter是BaseAdapter的子类
绝对不是。 Adapter
是一个接口,而不是一个类。 BaseAdapter
实施Adapter
。
但是你有什么额外的功能呢?
您没有从Adapter
中获得任何“额外功能”,因为Adapter
是一个界面。