Выберите между ArrayAdapter и SimpleAdapter

Мне было интересно, есть ли какое-нибудь руководство по выбору между ArrayAdapter и SimpleAdapter.

Для каждого элемента списка они будут представлены несколькими TextViews и Views, которые красиво оформляются. Я понимаю, что могу без проблем реализовать оба варианта, используя ArrayAdapter или SimpleAdapter.

Есть ли какое-нибудь руководство, как мы выбираем среди них? мое предположение

  1. ArrayAdapter позволяет нам динамически добавлять новый элемент, даже после того, как список отображается в течение этого времени. Обратите внимание, что ArrayAdapter имеет метод add.
  2. SimpleAdapter используется для случая, когда список показан, больше нельзя добавить новый элемент.

Это руководство, которому мы должны следовать?


person Cheok Yan Cheng    schedule 18.06.2011    source источник
comment
Я думаю, вы правы. Разница между ними заключается в том, добавляете ли вы новые элементы динамически (ArrayAdapter) или нет (SimpleAdapter). По крайней мере, так я понимаю из официальной документации.   -  person Amokrane Chentir    schedule 18.06.2011


Ответы (2)


Лично я не нахожу SimpleAdapter очень полезным. Данные вашей модели редко естественным образом находятся в «ArrayList из Maps», и расточительно копировать данные только для того, чтобы получить их в адаптере.

Я бы использовал либо ArrayAdapter (если данные моей модели представляют собой массив объектов), либо BaseAdapter (если данные моей модели представляют собой какую-то другую структуру данных в памяти).

person CommonsWare    schedule 18.06.2011

Адаптер массива можно использовать для заполнения представления списка из динамического массива, в то время как простой адаптер используется для заполнения представления списка из хэш-карты или ассоциативного массива, поскольку в адаптере массива нет конструктора, который мог бы принимать массив ключей и массив int, который является идентификатором макета, в который мы хотим заполнить данные.

person toufic    schedule 06.05.2017