2014-02-05 3 views
0

У меня есть список, содержащий разные объекты. Например, {A, B, B, A, C и т. Д.} Если я нажму «A», то это будет хорошо, если вы выделите этот элемент, но если я нажму «B», я не хочу иметь подсветку. Я положил clickable = false в макет компонента B, но он не имеет эффекта.Отключить выделение только для некоторых элементов в списке.

+0

Используйте 'включен = false' вместо ... –

ответ

1

Деактивирование элементы ListView

Вам необходимо переопределить следующие методы: в адаптере isEnabled(int position) и areAllItemsEnabled(). В isEnabled() вы возвращаете true или false в зависимости от списка и в areAllItemsEnabled() return false.

Пример

class CustomAdapter extends ArrayAdapter { 

    public CustomAdapter(
      Context context, int textViewResId, CharSequence[] strings) { 
     super(context, textViewResId, strings); 
    } 

... 
....  

    public boolean areAllItemsEnabled() { 
     return false; 
    } 

    public boolean isEnabled(int position) { 
     // return false if you want to disable for any element 
    } 
} 
Смежные вопросы