Я узнал, что вы не должны сохранять список или контекст в настраиваемом поле ArrayAdapter, потому что после передачи их в супер-метод следующим образом:
public CountryAdapter(Context context, ArrayList<CountryItem> countryList) {
super(context, 0, countryList);
}
мы можем получить доступ к этим значениям с помощью getContext и getItem(position). Но в моем случае мне нужен весь список в моем настраиваемом адаптере, а не только один элемент. Я не нашел метода, который возвращает список, означает ли это, что мне нужно создать переменную-член для своего списка?
Да, Флориан, вы можете создать переменную-член для хранения countryList и получать ее в любое время через экземпляр адаптера. Можете ли вы сослаться на какой-нибудь пост или ссылку, где указано иное?
Это тоже может быть полезно Получить список элементов в настраиваемом адаптере
Оператор спросил о ArrayAdapter.
Arrayadapter нет никакого метода для возврата списка.
И в arrayadapter список частный
private List<T> mObjects;
Если вам нужен этот список, просто сохраните его в своем поле класса дочернего адаптера. //CountryAdapter
I learned that you should not save the List or the Context in a custom ArrayAdapter field
Вы можете получить доступ к списку и контексту в вашем классе адаптера. Это не повлияет вызов метода суперкласса.
РЕДАКТИРОВАТЬ
Если у вас возникли проблемы с сохранением списка, вы можете использовать метод отражения получить поле списка ArrayAdapter (mObjects). Но это не рекомендуется и не нужно. Просто сохраните его в своем адаптере