Почему пользовательский конструктор ArrayAdapter в этом примере не точно соответствует конструктору суперкласса?Android

Форум для тех, кто программирует под Android
Anonymous
Почему пользовательский конструктор ArrayAdapter в этом примере не точно соответствует конструктору суперкласса?

Сообщение Anonymous »

Я изучал руководство по созданию пользовательского адаптера ArrayAdapter для ListView в Android. Вот пользовательский класс адаптера из руководства:

Код: Выделить всё

public class NumbersViewAdapter extends ArrayAdapter {

// invoke the suitable constructor of the ArrayAdapter class
public NumbersViewAdapter(@NonNull Context context, ArrayList arrayList) {

// pass the context and arrayList for the super
// constructor of the ArrayAdapter class
super(context, 0, arrayList);
}
Почему передаваемый аргумент не должен совпадать с конструктором в суперклассе? Чтобы быть более ясным, я думал, что аргумент передается:

Код: Выделить всё

NumbersViewAdapter(@NonNull Context context, ArrayList arrayList)
должен соответствовать:

Код: Выделить всё

super(context, 0, arrayList)
Во-вторых, я не видел, чтобы ни один конструктор не передавал аргумент как таковой (@NonNull Context context, ArrayList arrayList). Единственное, что мне кажется близким к нему, это

Код: Выделить всё

public ContactListAdapter(@NonNull Context context, int resource, @NonNull ContactInfo[] objects) {
super(context, resource, objects);
}
Я еще ничего не пробовал

Подробнее здесь: https://stackoverflow.com/questions/787 ... -the-super

Вернуться в «Android»