Trong các phương thức nghe android, hầu hết sự kiện sẽ trả về giá trị boolean. Giá trị đúng/sai là gì? điều gì sẽ dẫn đến các sự kiện sau đó?Ý nghĩa của giá trị boolean được trả về từ phương thức xử lý sự kiện trong Android
class MyTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
logView.showEvent(event);
return true;
}
}
Đối với ví dụ trên, nếu trở thành sự thật trong onTouch phương pháp, tôi thấy tất cả các sự kiện liên lạc (DOWN, UP, DI CHUYỂN, vv) đã bị bắt theo logView tôi. Ngược lại, nếu trả về false, đúng là sự kiện DOWN đã bị bắt. Vì vậy, có vẻ như trả về false sẽ ngăn sự kiện truyền bá. Tôi có đúng không?
Ngoài ra, trong một OnGestureListener, nhiều phương pháp cũng phải trả lại giá trị boolean. Họ có cùng ý nghĩa không?
adamp, có cách nào để tiếp tục nhận sự kiện VÀ để các sự kiện qua không? – ticofab
@ticofab không, chỉ cha/mẹ của chế độ xem hiện đang nhận sự kiện mới có thể chặn các sự kiện trong tương lai trong cử chỉ. (Tất nhiên, bạn luôn có thể xây dựng hệ thống chuyển hướng của riêng bạn trong chế độ xem gốc, nhưng tôi sẽ không đề xuất nó trừ khi bạn thực sự biết mình đang làm gì.:)) – adamp
@adamp Tôi không thể nghĩ ra lý do tại sao onTouch được gọi là 2 lần khi trả về true và 1 lần chỉ khi tôi trả về false. –