เช่นเดียวกับชื่อกล่าวว่าอะไรคือความแตกต่างระหว่างกล่องโต้ตอบที่ถูกไล่ออกหรือยกเลิกใน Android?
เช่นเดียวกับชื่อกล่าวว่าอะไรคือความแตกต่างระหว่างกล่องโต้ตอบที่ถูกไล่ออกหรือยกเลิกใน Android?
คำตอบ:
โดยทั่วไปแล้วกล่องโต้ตอบจะถูกไล่ออกเมื่องานเสร็จสิ้นและจะถูกลบออกจากหน้าจอ กล่องโต้ตอบจะถูกยกเลิกเมื่อผู้ใช้ต้องการหนีออกจากกล่องโต้ตอบและกดปุ่มย้อนกลับ
ตัวอย่างเช่นคุณมีกล่องโต้ตอบใช่ / ไม่ใช่มาตรฐานบนหน้าจอ หากผู้ใช้คลิกไม่ใช่กล่องโต้ตอบจะถูกยกเลิกและค่าของ No จะถูกส่งกลับไปยังผู้โทร หากแทนที่จะเลือกใช่หรือไม่ใช่ผู้ใช้คลิกย้อนกลับเพื่อหนีจากกล่องโต้ตอบแทนที่จะเลือกแล้วกล่องโต้ตอบนั้นจะถูกยกเลิกและไม่มีค่าใดถูกส่งกลับไปยังผู้โทร
dismissDialogเป็นสิ่งที่คุณต้องโทรอย่างชัดเจนในรหัสของคุณมักจะตอบสนองต่อเหตุการณ์การคลิกที่ปุ่มในของคุณ ถ้าคุณต้องการคุณสามารถโทรdismissDialogในActivityซึ่งจะเปิดการโทรบนdismissDialog
cancelวิธีเดียวที่ดำเนินการเมื่อมีการเรียกอย่างชัดเจนในรหัสของคุณหรือเมื่อผู้ใช้กดปุ่ม BACK เมื่อบอกเลิกคุณDialogเปิด (ตาม @Lee ระบุไว้)
หากคุณใช้ a DatePickerดังนั้นทั้งหมดนี้ยังคงเป็นเช่นนั้น ในฐานะที่เป็น @Lee กล่าวว่าเพียงแค่ตรวจพบเมื่อผู้ใช้เลือกวันที่จากDatePickerDialog.OnDateSetListenerDatePicker
อ้างอิงนักพัฒนาซอฟต์แวร์ Androidให้ข้อมูลเพิ่มเติมเกี่ยวกับDialogs
cancelวิธีการ มีผู้ฟังสองคนที่แตกต่างกันสำหรับการลดขนาดและการยกเลิก
Dismissการเรียกการยกเลิกจะลบไดอะล็อกออกจากหน้าจอ วิธีการนี้สามารถเรียกใช้ได้อย่างปลอดภัยจากกระทู้ใด ๆ โปรดทราบว่าคุณไม่ควรแทนที่เมธอดนี้เพื่อล้างข้อมูลเมื่อไดอะล็อกถูกไล่ออกแทนที่จะนำไปใช้ในonStopแทน
Cancelโทรยกเลิกยกเลิกยกเลิกไดอะล็อก สิ่งนี้จะเหมือนกับการเลิกโทร()แต่มันจะเรียกDialogInterfaceOnCancelListenerของคุณหากลงทะเบียน
Hide วิธีนี้ซ่อนกล่องโต้ตอบ แต่อย่ายกเลิก
และเพิ่มเติมดูที่นี่