Подход Android для удаления элемента из ListView? Переключить макет элемента во время выполнения - PullRequest
0 голосов
/ 15 ноября 2011

Я читал эту тему: Удаление Android из списка, пользовательский опыт , и, поскольку у меня есть другая идея, как удалить элемент из списка, это то, что я имел в виду.

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

Поскольку появилась новая панель действий, я добавил пункт меню «Удалить» и установил его для отображения на панели действий моего ListView. Затем я планировал сделать эту опцию меню проверяемой, чтобы я мог как-то выделить опцию Удалить на панели действий, например, чтобы она выглядела как будто она нажата, что-то вроде ToggleButton. После нажатия кнопки удаления каждый элемент в моем списке получает флажок в конце. Я не хочу постоянно показывать флажки в моих элементах списка, потому что не хочу, чтобы он занимал какое-либо доступное пространство из данных, которые я показываю. После того, как пользователь проверит элементы, подлежащие удалению, и (не) нажмет кнопку «Удалить», данные будут удалены. Там может быть дополнительный «Вы уверены?» диалог только для подтверждения удаления.

Что вы скажете об этом подходе?

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

Теперь несколько технических вопросов. Было бы лучше иметь другой выход для элемента списка, когда я нахожусь в режиме удаления, или я должен добавить флажок в коде? Если это вообще возможно. В данный момент я пытаюсь установить мой адаптер в нормальный режим или в режим удаления, и в связи с этим вернуть другой вид элемента (макет), но по какой-то причине он не работает.

Спасибо за ваши ответы и предложения.

ЧАСТНОЕ РЕШЕНИЕ? Итак, я нашел обходной путь. У меня все еще есть пункт меню «Удалить» на панели действий, и когда я щелкаю по нему, я устанавливаю список в режиме удаления, просто флаг в моем коде. Но теперь мой адаптер проверяет, является ли этот флаг истинным, и если это так, я нажимаю на элемент списка и выбираю его. Выбор я делаю таким образом, чтобы в моих данных я сделал переменную, которую я установил или не установил. В соответствии с этой переменной мой адаптер устанавливает цвет фона элемента в списке, помечая его для удаления.

НО теперь у меня другая проблема. Я не могу заставить свой пункт меню «Удалить» на панели действий изменить цвет при выборе. Есть идеи?

1 Ответ

0 голосов
/ 15 ноября 2011

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

Теперь в меню параметров есть пункт «Удалить» и из них откройте контекстное меню, в котором есть пункт «Удалить все» или «Удалить выбранное». Если пользователь выберет удалить все, тогда очистите элемент списка в просмотре списка или в установленном флажке установите флажок для проверки цикла, которые проверяются, что элемент будет удален из списка.

После удаления обновите адаптер, используя этот метод youradapter.notifyDataSetInvalidated();.

Отметьте эту статью для флажка со списком

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...