android - AlertDialog पर डुप्लिकेट लाभ




android-dialogfragment dialogfragment (2)

डायलॉग पर संवाद का उपयोग करें:

  • एपीआई स्तर 13 की शुरूआत के बाद से :

    गतिविधि से showDialog विधि को हटा दिया गया है । एक संवाद को कहीं और कोड में शामिल करना उचित नहीं है क्योंकि आपको संवाद को स्वयं प्रबंधित करना होगा (जैसे अभिविन्यास परिवर्तन)। ShowDialog का उपयोग नहीं करने के परिणामस्वरूप कभी-कभी अपवाद होंगे, संवाद किसी भी गतिविधि से जुड़ा नहीं है।

    ShowDialog के बारे में ध्यान दें:

    संवाद का संदर्भ: गतिविधियाँ संवादों के निर्माण, बचत और पुनर्स्थापन को प्रबंधित करने के लिए एक सुविधा प्रदान करती हैं। OnCreateDialog (int), onPrepareDialog (int, Dialog), showDialog (int) और बर्खास्तगी (int) देखें। यदि इन विधियों का उपयोग किया जाता है, तो getOwnerActivity () इस संवाद को प्रबंधित करने वाली गतिविधि को वापस कर देगी।

  • DialogFragment और AlertDialog के बीच अंतर

    आपके प्रश्न को पढ़ते समय एक बात जो दिमाग में आती है। क्या वे इतने अलग हैं? एक http://developer.android.com/reference/android/app/DialogFragment.html एक Dialog के समान सुंदर है, यह सिर्फ एक टुकड़े के अंदर लिपटा हुआ है। DialogFragment के बारे में Android संदर्भ से:

    DialogFragment एक टुकड़ा है जो एक संवाद विंडो प्रदर्शित करता है, जो अपनी गतिविधि की खिड़की के ऊपर तैरता है। इस टुकड़े में एक डायलॉग ऑब्जेक्ट होता है, जिसे वह टुकड़े की स्थिति के आधार पर उपयुक्त दिखाता है। संवाद का नियंत्रण (यह दिखाने के लिए कि कब दिखाना, छिपाना, उसे खारिज करना) एपीआई के माध्यम से किया जाना चाहिए, संवाद पर सीधे कॉल के साथ नहीं।

  • अन्य नोट

    • विभिन्न स्क्रीन आकार वाले उपकरणों की विविधता के कारण एंड्रॉइड ढांचे में टुकड़े एक प्राकृतिक विकास है।
    • DialogFragments और Fragments समर्थन लाइब्रेरी में उपलब्ध कराए गए हैं जो Android के सभी वर्तमान उपयोग किए गए संस्करणों में वर्ग को उपयोग करने योग्य बनाता है।

इस प्रश्न का पहले से ही यहाँ एक उत्तर है:

Android ऐप विकसित करते समय, मैंने पढ़ा है कि अलर्ट और पुष्टिकरण दिखाने के लिए सीधे AlertDialog का उपयोग करने के बजाय DialogFragment का उपयोग करने की अनुशंसा की जाती है।

यह उदाहरण के लिए, DialogFragment के दस्तावेज़ीकरण पर किया गया है: http://developer.android.com/reference/android/app/DialogFragment.html

लोग यह भी कहते हैं कि वे इसे यहाँ पसंद करते हैं: Android DialogFragment vs Dialog

मैं इस दृष्टिकोण के फायदे जानना चाहूंगा, क्योंकि कोड अधिक जटिल हो जाता है।

धन्यवाद


यह आसान है।
DialogFragment एक टुकड़ा है। तो क्या एक टुकड़ा आप प्रदान कर सकते हैं जबकि अन्य वस्तुओं नहीं कर सकते?
यह जीवनचक्र कॉलबैक है।
इसलिए DialogFragment के साथ, यह बहुत शक्तिशाली हो सकता है और आपके कोड को अधिक क्लीनर बनाता है।
क्या आपने कभी खिड़की के लीक को देखा है अगर आपने एक डायलॉग को बंद नहीं किया था जब उसकी गतिविधि नष्ट हो रही थी तो इसे रोकने के लिए, क्या आपने कभी ऑनपोज़ () कहा जाने पर संवाद को बंद करने की कोशिश की है? ऐसा करने के लिए, क्या आपको कभी उस संवाद का एक वर्ग स्तर की वस्तु पर संदर्भ देना है?
DialogFragment के साथ, यह सब संभाला है।
और आपको सभी जीवनचक्र कॉलबैक मिलते हैं।
तब आप संवाद को और अधिक बुद्धिमत्ता प्रदान कर सकते हैं और यह बता सकते हैं कि गतिविधि क्या है, यह बताने के बजाय कुछ स्मार्ट काम करें।





dialogfragment