«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сохранить выделение элементов ListView после выбора в Android?

Как сохранить выделение элементов ListView после выбора в Android?

Опубликовано 23 декабря 2024 г.
Просматривать:879

How to Keep ListView Items Highlighted After Selection in Android?

Как сохранить выделение элементов ListView после выбора в Android

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

Задание

Разработчик недавно столкнулся с этой проблемой при работе с двумя ListViews в макете XML. Один ListView отображал список клиентов, а другой — подробную информацию о выбранном клиенте. Когда клиент был выбран в первом ListView, разработчик хотел сохранить его выделенное состояние при обновлении второго ListView соответствующими сведениями. Однако подсветка не сохранялась.

Решение

Для решения этой проблемы существует несколько подходов:

1. Использование атрибутов XML:

В макете XML примените следующие атрибуты к элементу управления ListView, который должен сохранять подсветку выбранного элемента:

android:choiceMode="singleChoice"
android:listSelector="@drawable/list_selector"

Замените @drawable/list_selector пользовательским селектором, который определяет желаемый цвет выделения.

2. Программный подход:

В качестве альтернативы можно использовать следующий код, чтобы программно установить режим выбора ListView и цвет выделения:

listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
listView.setSelector(getResources().getDrawable(R.drawable.list_selector));

3. Избегайте манипулирования представлениями:

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3