Как работает метод ArrayAdapter getView()?
Я хочу сделать ArrayAdapter
для отображения изображения и текста. Мне не нужны примеры, если это возможно. Я хотел бы, чтобы кто-то объяснил мне, как работает getView()
.
Спасибо.
Ответы
Ответ 1
getView()
является основной частью вашего адаптера. Он возвращает View
, который будет отображаться в виде списка/сетки/галереи/любого вида, использующего элемент адаптера. Он запускается при прокрутке списка (например, списка).
Итак, первое, что вы должны сделать, чтобы создать свой собственный адаптер. Вы можете продлить его с BaseAdapter
. Затем вам нужно создать некоторые данные для отображения (или передать их адаптеру со стороны - лучшее решение).
После этого переопределите метод getView()
и обязательно верните свой собственный вид. В вашем случае это должно быть Layout
с ImageView
и TextView
(и не забудьте заполнить их).
Вы можете узнать больше:
Ответ 2
в BaseAdapter
у вас есть функция getView
, вызываемая для AdapterView
i.e. ListView
.
вам нужно переопределить метод getCount
базового адаптера, чтобы вернуть общее количество просмотров в diplay.
И в getView вы получаете следующие вещи:
public View getView(int position, View convertView, ViewGroup parent)
-
положение:
getView будет вызываться для каждой позиции каждый раз, когда он отображается.
-
convertView
Поскольку getView
- вызов много раз, раздувая новое представление, каждый раз дорого, поэтому просмотр списка предоставляет вам одно из ранее созданного представления для повторного использования.
-
parent
Ссылка на родительское представление, что это представление будет дочерним.
ArrayAdapter
является подклассом BaseAdapter
, который принимает ArrayList
(или массив) в конструкторе.
И переопределяет getCount
для вас.
Итак, все, что вам нужно реализовать, это getView