Подтвердить что ты не робот

Как сделать элемент в виде списка без кликов в Android

Как сделать элементы в виде списка не нажатыми. У меня есть темы и элементы в представлении списка, но представление одинаково для обеих тем и элементов. элементы могут быть нажаты, но тема не доступна. как достичь этого

список будет выглядеть как

Topic
item
Topic
item
item

тема. click able (false) не работает, пожалуйста, помогите

4b9b3361

Ответ 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"