2010-06-26 8 views

उत्तर

141

आमतौर पर, जब कोई काम समाप्त हो जाता है तो उसे एक संवाद खारिज कर दिया जाता है और इसे स्क्रीन से हटाया जा रहा है। जब कोई संवाद संवाद से बचना चाहता है और बैक बटन दबाता है तो एक संवाद रद्द कर दिया जाता है।

उदाहरण के लिए, आपके पास स्क्रीन पर एक मानक हां/नहीं संवाद है। यदि उपयोगकर्ता नंबर पर क्लिक करता है, तो संवाद को खारिज कर दिया जाता है और कॉलर को नो के लिए मान वापस कर दिया जाता है। यदि हां या नहीं चुनने के बजाय, उपयोगकर्ता विकल्प चुनने के बजाय संवाद से बचने के लिए वापस क्लिक करता है तो संवाद रद्द कर दिया जाता है और कॉलर को कोई मान वापस नहीं किया जाता है।

+0

उत्तर के लिए धन्यवाद। मैं यह निर्धारित करने की कोशिश कर रहा हूं कि क्या होता है यदि उपयोगकर्ता डेटपिकर पर रद्द बटन दबाता है। सबसे पहले मैंने एक डेमरी श्रोता का उपयोग करने की कोशिश की, और यह काम किया, लेकिन अगर उपयोगकर्ता ने समय चुना तो भी हुआ। फिर मैंने एक रद्द श्रोता की कोशिश की, और यह कभी नहीं चला, भले ही मैंने रद्द कर दिया हो। क्या आपको पता है मुझे क्या करना चाहिए? – Aal

+2

यदि आप डेटपिकरडियलॉग का उपयोग कर रहे हैं, तो दिनांक बदलने पर अधिसूचित होने के लिए आपको ऑनडेटेट लिटलर का उपयोग करना चाहिए। अगर कोई रद्द बटन पर क्लिक करता है ... तो उसे कॉल नहीं किया जाएगा और संवाद स्वयं ही चलेगा। DatePickerDialog के सामान्य उपयोगों के लिए, आपको अन्य श्रोताओं को सेट करने की आवश्यकता नहीं है। – Lee

22

dismiss कुछ ऐसा है जो आपको अपने कोड में स्पष्ट रूप से कॉल करना है, आमतौर पर आपके Dialog में एक बटन पर एक क्लिक ईवेंट का जवाब देने के लिए। यदि आप चाहें, तो Activity में dismissDialog पर कॉल कर सकते हैं, जो पर dismiss पर कॉल करेगा।

cancel विधि केवल तभी निष्पादित होती है जब इसे आपके कोड में स्पष्ट रूप से बुलाया जाता है, या जब उपयोगकर्ता रद्द करने योग्य Dialog खुला होता है (जैसा कि @Lee नोट किया गया है)।

यदि आप DatePicker का उपयोग कर रहे हैं, तो यह सब अभी भी मामला है। जैसा कि @Lee ने कहा, DatePickerDialog.OnDateSetListener बस यह पता लगाता है कि उपयोगकर्ता ने DatePicker से दिनांक चुना है।

Android Developer ReferenceDialog एस पर अधिक जानकारी प्रदान करता है।

संबंधित मुद्दे