2012-04-04 12 views
6

एक के बजाय AlertDialog.Builder वर्ग तरीकों सीधे AlertDialog के लिए उपलब्ध, उदाहरण के लिए, क्यों AlertDialog.Builder.setCancellableAlertDialog.setCancellable के बजाय का उपयोग क्यों लूं? निश्चित रूप से यह अनावश्यकता का मामला है?AlertDialog बनाम AlertDialog.Builder

उत्तर

5

क्योंकि AlertDialog.setCancellable शून्य लौटाता है और AlertDialog.Builder.setCancellableAlertDialog.Builder देता है।

इसका मतलब है कि निर्माता आपको कम कम verbosity के साथ सेटिंग्स का एक समूह श्रृंखला करने की अनुमति देता है। यह सिर्फ एक सुविधा वर्ग

+1

तो यह सी ++ में आईट्रीम/ओस्ट्रीम ऑपरेटरों की तरह 'तरह' है? यह उचित लगता है – stephenfin

0

मुझे लगता है कि कारखाने के तरीके और अधिक समृद्ध हैं।

7

अलर्टडिअलॉग आपको अपनी गतिविधि/खंड के ऊपर एक संवाद दिखाने की अनुमति देता है। इसका उपयोग आमतौर पर कुछ बटन सहित या कुछ के लिए अधिसूचना सहित बातचीत के लिए उपयोगकर्ता को संकेत देने के लिए किया जाता है।

अलर्टडिअलॉग.बिल्डर अलर्टडियलोग का एक आंतरिक स्थैतिक वर्ग है जो आपको अपने आसान तरीकों से त्वरित रूप से एक संवाद स्थापित करने की अनुमति देता है। यह सिर्फ एक सहायक वर्ग की तरह AlertDialog है। यह एक श्रृंखला में तरीकों को बुलावा के लिए प्रयोग किया जाता है।

+0

लेकिन यह किससे मदद करता है? क्या इसका उद्देश्य सिर्फ व्यक्तिगत विवरणों (शीर्षक आदि को सेट करना) के बजाय एक लंबे वक्तव्य में सब कुछ संक्षिप्त करना है या क्या यह किसी और तरीके से अधिक कार्यक्षमता प्रदान करता है? – stephenfin

+0

हां, यह एक श्रृंखला में विधियों को कॉल करने की सुविधा के लिए भी है – waqaslam

+0

@stephenfin वास्तव में नो-बिल्डर क्लास विधि कॉलिंग चेनिंग के लिए नहीं हैं। वे अक्सर एक कारखाने की तरह कार्य करते हैं जो उचित डिफ़ॉल्ट मान और अनुकूलन विकल्प प्रदान करता है। उत्पाद ('AlertDialog') के लिए अपरिवर्तनीय/अमूर्त होने के लिए भी बहुत आम है, जबकि फैक्ट्री समकक्ष नहीं हैं जो उत्पाद बनाने की प्रक्रिया को काफी हद तक कम कर सकते हैं। उदाहरण के लिए 'स्ट्रिंगबिल्डर' या 'प्रोसेसबिल्डर' लें। – andr

1

AlertDialog.Builder ऐसे setTitle() या setMessage() के रूप में विशेषताओं की सेटिंग करता है और उपयोगकर्ता के लिए प्रदर्शित नहीं कर रहे हैं।

AlertDialog एक है कि प्रदर्शित करता है उन विशेषताओं जो AlertDialog.Builder में सेट किया गया है।

कहीं भी उल्लेख किए जाने का उद्देश्य यह है कि यह वास्तविक प्रदर्शन से सेटिंग्स को अलग से बनाने की अनुमति देता है जो बदले में चीज़ को सुविधाजनक बनाता है।

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