我正在使用ArrayAdapters。我有点难以理解为什么应用和引入一个超级方法(不确定它是否是这种情况下的关键字或方法?)。另外,为什么它的中间构造函数值为0?
干杯。
public class AttractionAdapter extends ArrayAdapter<Attraction> {
public AttractionAdapter(Context context, ArrayList<Attraction> attractions) {
super(context, 0, attractions);
}
答案 0 :(得分:0)
这不是ArrayAdapter
的要求。这只是 Java :Why call super() in a constructor?
如果父类没有没有参数的构造函数,必须在派生类的构造函数中调用super
(否则调用是隐式的,您可以避免调用{{ 1}})。 Here一些细节。
只是为了测试,尝试扩展super()
。它的构造函数没有参数 - &gt;没有必要致电BaseAdapter
(实际上它被称为,但你不需要写它)。
答案 1 :(得分:0)
这是ArrayAdapter的构造函数,您可以创建一个新的AttractionAdapter。你大部分时间都不需要打电话给超级。您可以查看Java 7文档中的超级功能。此外,0是你的项目去的地方。适配器将“复制并粘贴”以创建列表的项目。目前,适配器没有要显示的项目。