2010-10-16 31 views
13

Tôi có chế độ xem lưới và tôi muốn các mục của nó hoạt động khác nhau nếu người dùng thực hiện nhấp chuột hoặc nhấp chuột dài đó là lý do tôi đang sử dụng OnItemClickListener và OnItemLongClickListener nhưng khi nhấp chuột dài xảy ra cả người nghe phản ứng. Tôi muốn chỉ thực hiện OnItemLongClickListener.Làm thế nào để ngăn chặn công việc OnItemClickListener khi bấm dài thực hiện?

Trả lời

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

trở thành sự thật sẽ ngăn chặn sự kiện nhấp chuột phải tiếp tục. Nó sẽ chỉ thực hiện OnItemLongClickListener.

+1

Bạn tiết kiệm thời gian của tôi –

0

Bạn có thể sử dụng AdapterView.setOnItemLongClickListener. GridView thừa kế AdapterView, vì vậy bạn có thể gọi phương thức đó trên GridView.

+0

Tôi đang sử dụng AdapterView.setOnItemLongClickListener nhưng tôi cũng đang sử dụng setOnItemClickListener và cả hai đều phản ứng với các nhấp chuột dài mà tôi muốn ngăn OnItemClickListener phản ứng với các nhấp chuột dài. – Tony

+1

Hãy thử KeyEvent.isLongPress() – Tony

Các vấn đề liên quan