Какой правильный способ добавить элемент в ArrayAdapter - PullRequest
0 голосов
/ 07 июля 2011

Рассмотрим следующий код.

List<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, resource, textViewResourceId, list);

// Method 1 : Add an item.
adapter.add("ITEM1");

// Method 2 : Add an item
list.add("ITEM2");

Мне было интересно, как правильно добавить элемент в ArrayAdapter?Как мне кажется, оба метода работают нормально.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Метод 1 обновляет связанный AdapterView, если вы уже прикрепили ArrayAdapter к AdapterView.Метод 2 не требует, чтобы вы вызывали notifyDataSetChanged() для ArrayAdapter.

. Обычно вы заполняете ArrayList перед созданием ArrayAdapter, а затем используете метод 1 для динамического добавления новых записей позже.(например, на основе ввода пользовательских данных).

0 голосов
/ 07 июля 2011

Это то, что я делаю, особенно для моей страницы результатов поиска - где она растет по мере прокрутки пользователем вниз (список меняется).

Я бы сохранил локальный ArrayList строк, который является глобальным для класса, Инициализируйте адаптер (также локально и глобально), Укажите назначенный метод для изменения ArrayList строк, затем вызовите adapter.notifyDataSetChanged ();

Это не только обновит ваш список, но и обновит адаптер для работы

Надеюсь, это поможет,

best, -serkan

...