2017-03-01 24 views
0

我正在使用ArrayAdapters。我有点困惑,无法理解为什么应用并引入超级方法(不确定它的关键字或方法在这种情况下?)。另外,为什么它的中间构造函数的值为0?为什么适配器需要超级方法?

干杯。

public class AttractionAdapter extends ArrayAdapter<Attraction> { 

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

回答

0

这不是ArrayAdapter s的要求。这简直是​​的JavaWhy call super() in a constructor?

必须呼叫super在派生类的构造函数,如果父类没有无参数的构造函数(否则呼叫是隐含的,你能避免调用super()) 。 Here一些细节。

仅用于测试,请尝试扩展BaseAdapter。它的构造函数没有参数 - >不需要调用super()(实际上它被调用,但不需要编写它)。

0

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

相关问题