2018 Як виділити обраний елемент в listview android

Androids .help Русский Android-спільнота.

Я знаю, що Android нічого в TouchMode не виділили. Але я роблю щось схоже на Gmail додатки, в якому ви вибираєте речі з лівого боку і показати деталі на правій стороні діяльності (цікаво, як Google зробив це).

Таким чином, історія у мене є, щоб виділити те, що було вибрано на лівій стороні ListView. Я знайшов кілька подібних питань і рішення в основному:

1.override метод і setBackground GetView адаптера для обраної позиції

Але жоден з них не працює для мене через дивної поведінки. Як я натискаю на один пункт і виділіть його, п'ятий пункт після виділено, а також, і так далі, так далі, як я перейдіть список.

Будь-які пропозиції. ДЯКУЄМО!

Top 5 Respuesta

Причина потрібно обвести кілька елементів, ймовірно, тому, що ви: повторне цілу виставу, або встановити фон обидва цих поглядів до однієї і тієї ж Drawable інстанції. Якщо у вас є ж малюємо на екрані в два рази, всі події, які відбуваються в перший трапиться з усіма іншими, тому що це логіка вже реалізована у разі, самої Drawable.

Щоб вирішити цю проблему, або: чи не повторно використовувати уявлення для кількох рядків, або НЕ повторно використовувати вводиться коефіцієнта для кількох рядків (створити новий кожен раз)

Я знаю, це звучить ресурсоємним, і це, але якщо у вас нетлучшее рішення з'ясували етопростое рішення.

Використання listView.setChoiceMode (INT choiceMode);

choiceMode Один з CHOICE_MODE_NONE, CHOICE_MODE_SINGLE або CHOICE_MODE_MULTIPLE від класу android.widget.AbsListView

Ви також повинні додати MultiChoiceModeListener, ви можете мати CHOICE_MODE_SINGLE

Зверніться до зразком нижче

Тому що пункти в ListViews імітує ті у верхній частині, вони також імітує фон них. Ви повинні встановити кожен з фону ваших деталей в GetView (функції). У кожному пункті в GetView (), ви повинні встановити фон як для окремих одиниць і невибраний них.

це для призначеного для користувача listactivity або ListFragment

виділити обраний елемент в ListView

Схожі статті