Android 无法继承和重写ArrayAdapter
我正在尝试构建一个自定义ArrayAdapter,它覆盖默认ArrayAdapter的构造函数,如下所示:Android 无法继承和重写ArrayAdapter,android,android-studio,Android,Android Studio,我正在尝试构建一个自定义ArrayAdapter,它覆盖默认ArrayAdapter的构造函数,如下所示: private class MyEndpointAdapter extends ArrayAdapter<Endpoint> { 我决定检查ArrayAdapter的声明,发现它导入的一些类无法解析 如何修复此问题?如果不显式提供构造函数,编译器将为您创建一个默认构造函数,它将调用超类的无参数构造函数 由于ArrayAdapter没有无参数构造函数,因此显然无法进行此调用,
private class MyEndpointAdapter extends ArrayAdapter<Endpoint> {
我决定检查ArrayAdapter的声明,发现它导入的一些类无法解析
如何修复此问题?如果不显式提供构造函数,编译器将为您创建一个默认构造函数,它将调用超类的无参数构造函数 由于
ArrayAdapter
没有无参数构造函数,因此显然无法进行此调用,因此出现错误
您需要明确定义从超类调用构造函数的构造函数,例如:
private class MyEndpointAdapter extends ArrayAdapter<Endpoint> {
public MyEndpointAdapter(Context context, @LayoutRes int resource, List<Endpoint> objects) {
super(context, resource, objects);
}
}
私有类MyEndpointAdapter扩展了ArrayAdapter{
公共MyEndpointAdapter(上下文上下文、@LayoutRes int资源、列表对象){
超级(上下文、资源、对象);
}
}
成功了,谢谢!
private class MyEndpointAdapter extends ArrayAdapter<Endpoint> {
public MyEndpointAdapter(Context context, @LayoutRes int resource, List<Endpoint> objects) {
super(context, resource, objects);
}
}