我正在尝试构建一个自定义ArrayAdapter,它会覆盖默认ArrayAdapter的构造函数,如下所示:
private class MyEndpointAdapter extends ArrayAdapter<Endpoint> {
但我收到错误说:
There is no default constructor available in 'android.widget.ArrayAdapter'
我决定检查ArrayAdapter的声明并发现它导入的某些类无法解析
http://i.stack.imgur.com/tauGr.png
我该如何解决这个问题?
答案 0 :(得分:0)
如果没有显式提供构造函数,编译器将为您创建一个默认构造函数,它将调用超类的no-arg构造函数。
由于ArrayAdapter
没有no-arg构造函数,显然无法进行此调用,因此错误。
您需要显式定义一个从超类调用构造函数的构造函数,例如:
private class MyEndpointAdapter extends ArrayAdapter<Endpoint> {
public MyEndpointAdapter(Context context, @LayoutRes int resource, List<Endpoint> objects) {
super(context, resource, objects);
}
}