อะไรคือข้อแตกต่างระหว่าง callbacks และ listeners?


18

ใน blackberry เราสามารถแทนที่ keyChar () วิธีการและจับภาพเหตุการณ์ keypress หรือเราสามารถลงทะเบียน onKeyPressListener ฉันรู้ว่า onKeyListener เป็นรูปแบบการสังเกตการณ์

ใน Android ยังมี KeyEvent.callback และ onKeyListener

ทั้งสองเป็นเหตุการณ์ที่ทำให้เราไม่จำเป็นต้องลงทะเบียนสำหรับเหตุการณ์ keyChar ความแตกต่างระหว่างทั้งสองรูปแบบคืออะไร?

คำตอบ:


14

อาจมีผู้ฟังจำนวนมากสำหรับเหตุการณ์บางประเภท แต่มีการติดต่อกลับเพียงครั้งเดียว


ใน android เราสามารถตั้งค่า OnClickListener ได้เพียงรายการเดียวเท่านั้น
Vivart

2
อาจเป็นไปได้ว่าคำจำกัดความของ "ผู้ฟัง" ไม่ตรงกับผลิตภัณฑ์อื่น ๆ โดยปกติคุณไม่มีวิธี "setFooBarListener ()" แต่เป็นวิธี "addFooBarListener ()"
281377

3
ความแตกต่างอื่นอาจcallbackหมายถึงฟังก์ชั่น (หรือปิดหรือมอบหมาย) ในขณะที่listenerเป็นวัตถุของชั้นเรียนที่ใช้อินเตอร์เฟซผู้ฟังที่สอดคล้องกัน
281377

Vivart: ไม่สำคัญคำตอบของฉันก็ไม่ดีเลย
281377

-5

ฉันคิดว่าคุณมีแอปพลิเคชันที่ใช้ห้องสมุด:

Listener: Library เรียกใช้โค้ดบางอย่างกับข้อมูล แต่โค้ดจะถูกนำไปใช้กับ Application

การเรียกกลับ: แอปพลิเคชันรันรหัสบางอย่างกับข้อมูลอย่างไรก็ตามรหัสดังกล่าวจะถูกนำไปใช้กับไลบรารี

เนื่องจากไลบรารี่ไม่สามารถมองเห็นแอปพลิเคชันได้ดังนั้นจึงไม่มีวิธีแทนผู้ฟังสำหรับกรณีนี้

แน่นอนว่าแอปพลิเคชันสามารถดูห้องสมุดได้ แต่บางครั้งห้องสมุดต้องการซ่อนรหัสและช่วยให้แอปพลิเคชันดูมีเหตุผล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.