Как сделать элемент в виде списка без кликов в Android
Как сделать элементы в виде списка не нажатыми. У меня есть темы и элементы в представлении списка, но представление одинаково для обеих тем и элементов. элементы могут быть нажаты, но тема не доступна. как достичь этого
список будет выглядеть как
Topic
item
Topic
item
item
тема. click able (false) не работает, пожалуйста, помогите
Ответы
Ответ 1
Разделив мой опыт, трюк (представление относится к представлению элемента списка):
view.setEnabled(false);
view.setOnClickListener(null);
- включение путем переопределения метода не срабатывало, поскольку метод никогда не вызывался.
Настройка
- настраиваемая на false, также не работала.
Ответ 2
Не знаю, нужна ли вам эта проблема, но вы можете реализовать свой собственный адаптер и переопределить метод isEnabled (int position). В зависимости от вида ViewType элемента вы вернете true или false.
Ответ 3
Чтобы сделать элементы в списке неактивными, вы должны заставить адаптер возвратить false в свой метод isEnabled
для элементов в списке. Легкий способ создания экземпляра адаптера и переопределения isEnabled
может быть выполнен следующим образом:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to, 0) {
@Override
public boolean isEnabled(int position) {
return false;
}
};
Ответ 4
Это правильный ответ:
Я нашел много комментариев, говорящих, что
setEnabled(false)
setClickable(false)
setFocusable(false)
будет работать, но ответ НЕТ
Единственный обходной путь для этого подхода:
view = inflater.inflate(R.layout.row_storage_divider, parent, false);
view.setOnClickListener(null);
Ответ 5
Установить списокВыбрать прозрачный в ListView
android:listSelector="@android:color/transparent"
Ответ 6
В вашем адаптере у вас есть это:
view = inflator.inflate(R.layout.items_menu_header, null);
view.setOnClickListener(null);
Я использую логическое значение для определения заголовка или элемента, поэтому я назначаю другой макет для каждого типа.
Ответ 7
В вашем ListView
добавьте следующий атрибут
android:cacheColorHint = "#00000000"