जवाबों:
आमतौर पर, एक डायलॉग को खारिज कर दिया जाता है जब उसका काम खत्म हो जाता है और उसे स्क्रीन से हटा दिया जाता है। जब उपयोगकर्ता संवाद से बचना चाहता है और बैक बटन दबाता है तो एक संवाद रद्द कर दिया जाता है।
उदाहरण के लिए, आपके पास स्क्रीन पर एक मानक हां / नहीं संवाद है। यदि उपयोगकर्ता नंबर पर क्लिक करता है, तो संवाद खारिज कर दिया जाता है और कॉल करने वाले को नो के लिए मान वापस कर दिया जाता है। यदि हां या नहीं चुनने के बजाय, उपयोगकर्ता विकल्प चुनने के बजाय संवाद से बचने के लिए वापस क्लिक करता है तो संवाद रद्द कर दिया जाता है और कॉलर को कोई मान नहीं दिया जाता है।
dismissकुछ ऐसा है जिसे आपको अपने कोड में स्पष्ट रूप से कॉल करना है, आमतौर पर आपके बटन पर एक क्लिक घटना का जवाब देने के लिए Dialog। आप चाहें, तो आप कॉल कर सकते हैं dismissDialogमें Activity, जिसमें कॉल हो जाएगा dismissपरDialog ।
यह cancelविधि केवल तब निष्पादित होती है जब यह स्पष्ट रूप से आपके कोड में कहा जाता है, या जब उपयोगकर्ता आपके रद्द होने पर BACK बटन दबाता हैDialog पर खुला है (जैसा कि @Lee उल्लेख किया गया है)।
यदि आप एक का उपयोग कर रहे हैं DatePicker, तो यह सब अभी भी मामला है। जैसा कि @Lee ने कहा, DatePickerDialog.OnDateSetListenerबस यह पता लगाता है कि उपयोगकर्ता ने कब से तारीख चुनी हैDatePicker ।
Android डेवलपर संदर्भ में अधिक जानकारी प्रदान करता है Dialogरों।
cancelविधि भी कह सकते हैं । डिमिसिंग और रद्द करने के लिए दो अलग-अलग श्रोता हैं।
Dismissबर्खास्तगी को बुलाकर स्क्रीन से संवाद को हटा दिया जाता है। यह विधि किसी भी धागे से सुरक्षित रूप से मंगाई जा सकती है। ध्यान दें कि संवाद को खारिज करने पर आपको सफाई करने के लिए इस पद्धति को ओवरराइड नहीं करना चाहिए, इसके बजाय इसे ऑनटॉप में लागू करें ।
Cancelरद्द करना, संवाद रद्द करना। यह अनिवार्य रूप से कॉल खारिज () के रूप में ही है , लेकिन यह आपके DialogInterface.OnCancelListener को भी कॉल करेगा , यदि पंजीकृत है।
Hide यह विधि संवाद को छिपाती है, लेकिन इसे खारिज नहीं करती है।
और यहाँ अधिक देखने के लिए