Android自定义arrayadapter构造函数问题



我正在为我的listview创建一个自定义的arrayAdapter,但是像我的超级构造函数这样简单的事情把我搞砸了!

private ArrayAdapter<ScheduleTime> timeHold;
    //make proper constructor, see use ticket types
    public TimeTableAdapter(Context context, int textViewResourceId,
            ArrayAdapter<ScheduleTime> timesTable) {
        super(context, textViewResourceId, timesTable);
        this.timeHold = timesTable;
    }

我得到super行上的错误:

super(context, textViewResourceId, timesTable);

The constructor SimpleAdapter(Context, int, ArrayAdapter<ScheduleTime>) is undefined

我在这里错过了什么?上面的构造函数显然包含了所有这些元素

仅仅因为您定义的构造函数接受某个参数列表,并不意味着父类具有该构造函数。毕竟,您可以为构造函数定义任意的参数列表。

你试图调用的超级构造函数最接近ArrayAdapter类中的构造函数,但错误信息表明你试图继承SimpleAdapter。你理解对了吗?如果是ArrayAdapter,最后一个参数必须是支持该适配器的对象的数组(或列表),而不是该类型的单个对象。

如果是SimpleAdapter,则唯一的构造函数是这里,它看起来有点不同

super用于调用父类的构造函数,即您要扩展的类。查看文档:SimpleAdapter的构造函数有不同的参数。

最新更新