#android #favorites
#Android #Избранное
Вопрос:
привет,
Мое приложение представляет собой каталог мест, в котором пользователь может просмотреть список мест, близких к его местоположению, и просмотреть подробную информацию об этом месте.
Я хочу «добавить в избранное» функциональность для всех элементов в режиме просмотра списка и подробной страницы.
Каков наилучший способ сделать это? Я думал сделать это с помощью CheckBox, но не смог понять, как реализовать в адаптере listview.
Я имею в виду следующую структуру таблицы для избранного: _id — целочисленный первичный ключ content_identifier — уникальный идентификатор для места (текста)
Может кто-нибудь, пожалуйста, помочь?
С уважением, Сапан
Ответ №1:
Создайте пользовательский listview (проверьте, как создать пользовательский listview и добавить к нему прослушивателей)
и добавьте флажок или изображение, добавьте прослушиватель (щелкните прослушиватель) к изображению элементов списка, всякий раз, когда нажимается изображение или флажок, добавьте запись базы данных (таблица избранного или что-то в этом роде)
Комментарии:
1. Спасибо за ответ. Я реализовал это, но столкнулся с небольшой проблемой: на странице списка, если отмечена избранная звезда, а затем мы переходим на страницу сведений. На странице сведений мы видим отмеченную звездочку избранного, что является правильным поведением. Но когда я снимаю флажок и возвращаюсь на страницу со списком, я вижу, что кнопка избранное все еще отмечена. Это связано с тем, что представление списка не обновляется с действием на странице сведений. Можно ли что-нибудь для этого сделать?
2. Из представления сведений отправьте состояние обратно в ваше действие listview, проверьте startActiviyForResult и обмен данными между действиями, если в представлении сведений есть изменение состояния, отправьте этот статус обратно в действие, содержащее listview, и соответствующим образом установите адаптер (обновление listview).