Как предотвратить работу OnItemClickListener при выполнении длинного клика?

У меня есть gridview, и я хочу, чтобы его элементы действовали по-разному, если пользователь выполняет щелчок или длинный щелчок, поэтому я использую OnItemClickListener и OnItemLongClickListener, но когда происходит длинный щелчок, оба слушателя реагируют. Я хочу выполнять только OnItemLongClickListener.


person Tony    schedule 16.10.2010    source источник


Ответы (3)


public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {   
   return true;
}

return true будет предотвращать продолжение события click. Будет выполнено только OnItemLongClickListener.

person meizilp    schedule 23.12.2010

Вы можете использовать AdapterView.setOnItemLongClickListener. GridView наследует AdapterView, поэтому вы также можете вызывать этот метод в GridView.

person Tony    schedule 17.10.2010
comment
Я уже использую AdapterView.setOnItemLongClickListener, но я также использую setOnItemClickListener, и они оба реагируют на длинные клики, которые я хочу предотвратить, чтобы OnItemClickListener реагировал на длинные клики. - person Tony; 17.10.2010

Для перехвата длинных щелчков (нажатий) необходимо реализовать GestureDetector.OnGestureListener< /а>

person Barmaley    schedule 18.10.2010