Android поменяет местами два элемента в ListView

Каков наилучший способ (совместимый с API 8+) для обмена двумя представлениями элементов в ListView?

У меня есть ListView и два пользовательских представления XML, обычно ListView предварительно загружен

normalItemView

но когда я долго щелкаю по элементу, он должен изменить вид:

longClickedItemView

когда пользователь убирает палец с экрана, он должен вернуться к

normalItemView

Я уже реализовал код для определения действий пользователя по длинному щелчку и отпусканию (см. Android ListView, запускающий событие в выпуске длинных щелчков по элементам), но я не знаю, как заменить представление всего элемента и изменить его на другое представление.

Вопросы:

  • Какой лучший и кросс-версия способ сделать это?
  • Возможно ли оживить этот обмен?

1 ответ

Решение

Вы должны использовать группу просмотра как элемент списка и вставить свой макет в. Поэтому, когда вы реализуете "delete", возьмите ссылку на viewgroup, чтобы удалить макет, а затем добавьте новый вид. Что касается анимации, вы можете использовать стандарт Google, который вы найдете здесь.

Другие вопросы по тегам