Я немного беспомощный на данный момент.Конструктор ArrayAdapter <String> не определен - супер() отмечен
Я следующий код
public class ListViewAdapter<String> extends ArrayAdapter<String> {
private final Context context;
private final int textViewResourceId;
private final int[] itemResourceIds;
private final ArrayList<String> list;
public ListViewAdapter(Context context, int textViewResourceId,
int[] itemResourceIds, ArrayList<String> list) {
super(context, textViewResourceId, itemResourceIds, list);
this.context = context;
this.textViewResourceId = textViewResourceId;
this.itemResourceIds = itemResourceIds;
this.list = list;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// some code...
}
}
Но затмение отмечает строку супер (...), и я не могу понять, почему.
Он говорит мне:
The constructor ArrayAdapter<String>(Context, int, int[], ArrayList<String>) is undefined
Но не я определяю это именно так?
Пожалуйста, помогите мне здесь.
Спасибо за ответ, но я действительно хотел бы присвоить параметры так, как они есть у меня на данный момент. Нет ли способа сделать это возможным? Например, создав дополнительный конструктор? – Froxx
ваш конструктор в порядке. но если в элементе itemResources у вас есть массив, вам нужно знать, что представляет каждый элемент массива, поэтому вы можете передать родительскому правилу правильный. посмотрите мое обновление –
Прошу прощения, но я до сих пор не понимаю, почему я не могу просто передать массив вместо int. Когда я вызываю свой адаптер, я передаю массив и извлекаю из него все itemResourceIds, которые я использую в getView(). Значит, я не знаю, что представляет собой каждый предмет? – Froxx