Список Android с «затененными» элементами - PullRequest
4 голосов
/ 07 августа 2009

В Android я хочу представить пользователю список. Когда элемент в списке выбран, выполняется какое-либо действие, и этот элемент списка больше нельзя выбрать. Он также «серого цвета» или тому подобное, чтобы указать, что его нельзя выбрать при следующем отображении списка. Я видел переопределение isSelectable () в Adapter, но я считаю, что это приводит к тому, что элемент обрабатывается как разделитель, что вызывает визуальные проблемы. И я не нашел способа «затенить» предмет. Есть идеи? Спасибо ...

Ответы [ 3 ]

8 голосов
/ 03 ноября 2010

Что касается выпадения предмета. Я не уверен, что это лучший способ, но это то, что я делаю:

view.setAlpha(75);
view.setBackgroundColor(Color.GRAY);

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

view.setAlpha(255);
view.setBackgroundColor(Color.WHITE);

если исходное состояние не было прозрачным, а цвет фона был белым.

2 голосов
/ 08 августа 2009

Вот решение, которое я использую. Я установил OnItemClickListener для моего ListView. При щелчке элемента в списке я беру переданный вид и вызываю setEnabled (false) . Это будет серым предметом. Однако последующие нажатия на этот элемент будут вызывать метод onItemClick. Таким образом, вам нужно будет проверять каждый клик на предмет включения / выключения элемента и действовать соответствующим образом.

2 голосов
/ 07 августа 2009

Вам нужно отключить вид. Если вы создаете представления, просто вызовите .setDisabled (boolean) в представлении сверху. Насколько мне известно, установка элемента списка на отключение работает не очень хорошо.

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