Я хочу сделать ArrayAdapter
для отображения изображения и текста. Мне не нужны примеры, если это возможно. Я хотел бы, чтобы кто-то объяснил мне, как работает getView()
.
Спасибо.
Я хочу сделать ArrayAdapter
для отображения изображения и текста. Мне не нужны примеры, если это возможно. Я хотел бы, чтобы кто-то объяснил мне, как работает getView()
.
Спасибо.
getView()
является основной частью вашего адаптера. Он возвращает View
, который будет отображаться в виде списка/сетки/галереи/любого вида, использующего элемент адаптера. Он запускается при прокрутке списка (например, списка).
Итак, первое, что вы должны сделать, чтобы создать свой собственный адаптер. Вы можете продлить его с BaseAdapter
. Затем вам нужно создать некоторые данные для отображения (или передать их адаптеру со стороны - лучшее решение).
После этого переопределите метод getView()
и обязательно верните свой собственный вид. В вашем случае это должно быть Layout
с ImageView
и TextView
(и не забудьте заполнить их).
Вы можете узнать больше:
в 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