Проблема конструктора адаптера массива Android - PullRequest
1 голос
/ 18 августа 2011

Я делаю специальный 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

Что мне здесь не хватает?мой конструктор выше явно содержит все эти элементы

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

То, что определяемый вами конструктор принимает определенный список параметров, не означает, что у этого суперкласса есть этот конструктор. В конце концов, вы можете определить любой список произвольных параметров для вашего конструктора.

Суперпроектор, который вы пытаетесь вызвать, ближе всего к классу ArrayAdapter, но в сообщении об ошибке указывается, что вы пытаетесь наследовать от SimpleAdapter. Вы правильно поняли? Если это должен быть ArrayAdapter, последним аргументом должен быть массив (или список) объектов, которые поддерживают адаптер, а не только один объект этого типа.

Если это SimpleAdapter, единственный конструктор здесь , что выглядит немного иначе.

1 голос
/ 18 августа 2011

super используется для вызова конструктора суперкласса, класса, который вы расширяете. Посмотрите документацию : конструктор SimpleAdapter имеет разные аргументы.

...