如何知道我应该在扩展另一个类的类中实现的方法

时间:2012-10-29 00:17:07

标签: android inheritance interface adapter

我有这个班级

public class AdapterListView extends BaseAdapter { }

如果我没有实现某些方法,例如getCount()

,则会出错

错误是:

  

AdapterListView类型必须实现继承的抽象方法   Adapter.getCount()

BaseAdapter类实现ListAdapterSpinnerAdapter。这些接口继承了Adapter接口的方法,但此接口具有以下抽象方法:

  • getCount()
  • getItem()
  • getItemId()
  • getItemViewType()
  • getView()
  • getViewTypeCount()
  • hasStableIds()
  • isEmpty()
  • registerDataSetObserver()
  • unregisterDataSetObserver()

有关详细信息,请参阅Adapter界面。

但我只是实现了getCount(),getItem(),getItemId(),getView()。并且编译器不会给出此错误。为什么会这样?

3 个答案:

答案 0 :(得分:2)

您不需要实现这些方法的原因是它们已经在抽象类BaseAdapter中实现。

请参阅源代码链接:BaseAdapter

类类型abstract可以实现一些方法,并为扩展它的类留下一些方法。

问候。

答案 1 :(得分:0)

如果扩展类,则不需要实现此类的所有方法。某些方法必须至少在您的情况下声明getCount(),getId()等,如果需要,您也可以覆盖它们。在Eclipse中,您可以看到在悬停类名并单击它时必须声明哪些方法。

答案 2 :(得分:0)

不要改变这些方法的名称

getCount();

getItem();

getItemId();

getItemViewType();

getView();

getViewTypeCount();