जब Fragments
उपयोग कर, आप View
और Activity
जा रहा है Controller
होने के रूप में के रूप में उनमें से लगता है कि कर सकते हैं । मेरी व्यक्तिगत राय में, फ्रैगमेंट्स टैबलेट का समर्थन करने के लिए Google की घुटने की झटके प्रतिक्रिया थीं, और अब हम उनके साथ फंस गए हैं :(
मैं हर रोज टुकड़ों का उपयोग करता हूं, और मुझे निश्चित रूप से आपका दर्द महसूस होता है। जब मैंने पहली बार उनके बारे में पढ़ा तो मैंने खुद को सोचा , "यह वास्तव में अच्छा है", लेकिन उन्हें उपयोग करने के बाद, वे कम इतना तो कई मायनों में गिर जाते हैं, लेकिन मुख्य रूप से क्योंकि मैं उन्हें का प्रयोग करेंगे गलत तरीके से :(
यहाँ नुकसान का सामना करना पड़ा है कि मैं से कुछ हैं ...
अपने टुकड़े लेआउट में onclick
का उपयोग न करें, क्योंकि यह Activity
है औरनहीं है 10 जो क्लिक को संभालेगा। यदि आप विशेषता का उपयोग करते हैं, और बाद में आप Activity
में खंड का उपयोग करते हैं, तो आपको onclick
विधि को उस Activity
पर भी जोड़ना होगा। तो, findViewById
का उपयोग करें और उसके बाद खंड के onCreateView
में मैन्युअल रूप से क्लिक हैंडलर संलग्न करें।
अन्य टुकड़ों के साथ संवाद करते समय, संदेश को निर्देशित करने के लिए नियंत्रक के रूप में Activity
का उपयोग करें। (इंटरफेस का उपयोग करके यह कैसे करें उदाहरण के बहुत सारे उदाहरण)। यहां कुंजी यह है कि यदि आप किसी डिवाइस पर एकाधिक टुकड़े चला रहे हैं जहां एक टुकड़ा सीधे किसी अन्य खंड के साथ संवाद करेगा, तो आप कुछ अजीब, लेकिन अनुमानित व्यवहार में भाग लेंगे। उदाहरण के लिए यदि फ्रैगमेंट ए ने सीधे फ्रैगमेंट बी में एक व्यू अपडेट किया है, लेकिन फ्रैगमेंट बी दिखाई नहीं दे रहा है (क्योंकि आपने इसे बदल दिया है - एक फोन पर विचार करें), फिर जब फ्रैगमेंट बी दिखाई दे रहा है, तो View
अपडेट नहीं किया जा सकता है, क्योंकि View
फिर से बनाया गया है। इसलिए, यदि आप Fragment
अपडेट करते हैं तो किसी खंड में डेटा को अपडेट करना सुनिश्चित करें, onCreateView
में भागों को अपडेट करें, जिसे तब खंड कहा जाता है जब खंड फिर से दिखाई देता है (यानी, आपने वर्तमान खंड को पॉप किया है, अब आप पिछले दिखा रहे हैं एक)
केवल टुकड़ों का उपयोग करके एक पूर्ण आवेदन न बनाएं। इसके बजाय गतिविधियां का उपयोग करके सामान्य रूप से आपके जैसे ऐप्स बनाएं और फिर Fragment
का एक शानदार दृश्य (जो यह है) का इलाज करें। यानी, ऐप को डिज़ाइन करें कि आपके पास कई टुकड़े और एकाधिक गतिविधियां हैं, और कुछ गतिविधियां 1 से अधिक खंड का उपयोग कर सकती हैं।
मेरे टुकड़े के साथ पहली बार सोचा एक एक मैं कहाँ सोचा था कि यह महान सिर्फ टुकड़े और एक गतिविधि का उपयोग करके एक पूर्ण एप्लिकेशन के निर्माण के लिए होता था ... मैं अंत में अनुप्रयोग समाप्त हो गया है, लेकिन मुझे लगता है कि का उपयोग कर इतने सारे मुद्दों में भाग दृष्टिकोण। मेरा अगला दृष्टिकोण कई टुकड़ों और कई गतिविधियों का उपयोग करना था और यह बहुत बेहतर हो गया।
नीचे पंक्ति है अगर आप उन्हें एक View
के रूप में उपयोग कि टुकड़े महान हैं, लेकिन अगर आप उन्हें क्रियाएँ की तरह उपयोग करने के लिए कोशिश कर रहा शुरू करते हैं, तो आप समस्या में पड़ जा रहे हैं :(Activiy
के बारे में सोचो - जा रहा है के रूप में>Fragment
Controller
->View
।
मैं सुझाव है कि आप पढ़ सकते हैं और गतिविधि जीवनचक्र के अलावा टुकड़ा जीवन चक्र को समझने (प्रो एंड्रॉयड 4 यह प्रतिनिधित्व करने के लिए एक महान तस्वीर है) और तुम अपने आप को दर्द :)
मैं डॉन 'के घंटे बचा सकते हैं उत्तर देने के लिए पर्याप्त अनुभव नहीं है, लेकिन टुकड़ों पर मेरा पहला पास मुझे गैर-टैबलेट ऐप्स में उनके उपयोग पर सवाल उठाता है। यूआई देव में मामूली सुधार के लिए निश्चित रूप से जटिलता में वृद्धि। – tcarvin