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

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

Ответы

Ответ 1

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

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

Ответ 2

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

Ответ 3

Чтобы перехватить длинные клики (ака постукивания), вы должны imlement GestureDetector.OnGestureListener