मेरे पास Activity
एकाधिक Fragment
एस के साथ है। मैं DialogFragment
दिखाना चाहता हूं या Fragment
में से किसी एक से Fragment
खोलना चाहता हूं। मुझे पता है कि Activity
को Fragment
एस खोलने के साथ काम किया जाना चाहिए, इसलिए मैंने कुछ चीजों की कोशिश की है।गतिविधि और टुकड़ा इंटरैक्शन
पहले
मैं getActivity()
उपयोग करें और यह डाली तो मैं एक Fragment
दिखाने के लिए Activity
में एक विधि कॉल कर सकते हैं लेकिन यह Activity
साथ Fragment
में एक निर्भरता बनाता है और मैं चाहते हैं निर्भरता को जोड़ने से बचने के लिए करने की कोशिश की अगर संभव हो तो।
दूसरा
अगला मैं Activity
है कि यह एक Fragment
दिखाना चाहिए सूचित करने के लिए एक श्रोता की कोशिश की। तो मैंने श्रोता इंटरफेस को लागू करने के लिए Activity
में एक कक्षा बनाई। लेकिन मुझे समस्याएं थीं क्योंकि मुझे New MyActivity().new Listener();
का उपयोग करना था और को फेंकने पर का उपयोग करने की कोशिश की गई थी क्योंकि के इस उदाहरण को प्रारंभ नहीं किया गया था।
तृतीय
मैं तो करने के लिए Activity
सीधे श्रोता को लागू जो काम करता है क्योंकि तब मैं केवल श्रोता और नहीं गतिविधि के साथ एक निर्भरता बनाने हूँ की कोशिश की। हालांकि अब मैं उस बिंदु पर जा रहा हूं जहां मेरा Activity
2 - 4 अलग-अलग इंटरफेस लागू करेगा जो मुझे संकोच कर रहा है क्योंकि इससे गंभीरता कम हो जाएगी।
तो किसी भी तरह से मैंने कोशिश की है कि मैं एक ईंट की दीवार में दौड़ रहा हूं और निर्भरता पैदा कर रहा हूं, मुझे यकीन नहीं है कि मुझे बनाने की ज़रूरत है। क्या मैं खराब हूं और इन विकल्पों में से किसी एक के साथ जाना है? यदि ऐसा है तो कौन सा विकल्प सबसे अच्छा होगा? किसी भी मदद या सुझावों की बहुत सराहना की जाती है।
ऐसा करने के कई तरीके हैं, मैं चीजों को यथासंभव डी-युग्मित पसंद करता हूं, और इसके लिए मुझे एक ईवेंट बस पसंद है। उदाहरण के लिए देखें: http://square.github.io/otto/। (आपको सभी इंटरफ़ेस/श्रोता क्रूर से छुटकारा मिल जाता है। डेटा पास करें, इसे मजबूत प्रकार के साथ करें, इसे स्पष्ट संक्षेप में करें।) –
ऐसा लगता है कि यह आशाजनक है। मुझे इसे देखना होगा। पारितोषिक के लिए धन्यवाद। –