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

Отключить событие Click в элементах ListView Android

Я пытаюсь отключить несколько событий щелчка в списке, скажем, после нажатия первого щелчка на некоторых носителях воспроизводится из webservice, в то время как он воспроизводится, другие элементы должны быть clickable==false, после того, как медиа было воспроизведено, другие элементы списка могут быть кликабельными.

То, что я пытаюсь, вызывает setClickable(true) и setClickable(false) в ListView Object.

4b9b3361

Ответ 1

В вашем пользовательском методе ArrayAdapter overide isEnabled следуйте

@Override
public boolean isEnabled(int position) {
    return false;
}

Ответ 2

Создайте свой собственный подкласс ArrayAdapter, который AreAllItemsEnabled() возвращает false и определяет isEnabled (int position), чтобы вернуть false для данного элемента в те, которые вы хотите отключить.

Ответ 3

Добавьте это в xml

android:listSelector="@android:color/transparent"

Ответ 4

создайте адаптер для этого списка и замените этот метод

public boolean isEnabled(int position);

затем верните false, если вы хотите отключить клик

Ответ 5

before onCreate:

private long mLastClickTimeListViewItem = 0; 

Чтобы предотвратить множественные клики по элементам ListView

После того, как onCreate внутри слушателя для listView, в моем случае следующее:

    listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            if (SystemClock.elapsedRealtime() - mLastClickTimeListViewItem < 1000){
                return ;
            }
            mLastClickTimeListViewItem = SystemClock.elapsedRealtime();

            //Do your remaining code magic below...
            ....
            ....

         } // end of onItemClick method   
    }); // end of setOnItemClickListner

Ответ 6

Управление событием Click с использованием флагов.

Пока ваш медиаплеер работает, установите этот параметр нажатием на false, используя этот метод.

setClickable(false);

Когда ваш медиаплеер остановлен или не запущен, или полностью установите этот флаг в значение по умолчанию.

 setClickable(true);

Ответ 7

вышеупомянутые ответы не сработали для меня, поэтому я использовал list.setEnabled(false) Сработал у меня

Ответ 8

Или простым способом зарегистрировать и зарегистрировать OnItemClickListener может быть лучшая идея.

Ответ 9

Если вы хотите, чтобы только элементы с диагональю можно было щелкнуть и показать соответствующий цвет селектора, используйте строку

Android: listSelector = "@андроид: цвет/прозрачный"

в вашем списке в файле макета (xml)