为什么适配器需要超级方法?

时间:2017-03-01 16:39:19

标签: android android-arrayadapter

我正在使用ArrayAdapters。我有点难以理解为什么应用和引入一个超级方法(不确定它是否是这种情况下的关键字或方法?)。另外,为什么它的中间构造函数值为0?

干杯。

public class AttractionAdapter extends ArrayAdapter<Attraction> {

public AttractionAdapter(Context context, ArrayList<Attraction> attractions) {
    super(context, 0, attractions);
}

2 个答案:

答案 0 :(得分:0)

这不是ArrayAdapter的要求。这只是 Java Why call super() in a constructor?

如果父类没有没有参数的构造函数,必须在派生类的构造函数中调用super(否则调用是隐式的,您可以避免调用{{ 1}})。 Here一些细节。

只是为了测试,尝试扩展super()。它的构造函数没有参数 - &gt;没有必要致电BaseAdapter(实际上它被称为,但你不需要写它)。

答案 1 :(得分:0)

这是ArrayAdapter的构造函数,您可以创建一个新的AttractionAdapter。你大部分时间都不需要打电话给超级。您可以查看Java 7文档中的超级功能。此外,0是你的项目去的地方。适配器将“复制并粘贴”以创建列表的项目。目前,适配器没有要显示的项目。