2011-03-17 17 views
7

तो मुझे fragment खोलने के बारे में पता चला है। यहाँ मेरी दुर्दशा है। मेरे पास तत्वों (आवधिक तालिका तत्व) की एक सूची है जो मेरे view के बगल में है। जब आप कोई तत्व चुनते हैं तो यह इसकी जानकारी दिखाता है।एक टुकड़े को समाप्त करना

मेरी समस्या यह है कि मुझे view (जिसे हम विवरण खंड कहते हैं) को हटाने और इसे उस स्टैक से हटा सकते हैं जिस तरह से मेरे पास एक विशाल मेमोरी बैकअप नहीं है।

इसे किसी नए fragment को बदलने के लिए कहा जाता है जब मैं इसे स्टैक से कैसे हटा सकता हूं?

+0

क्या "एक बड़ी मेमोरी बैकअप" वास्तव में एक मुद्दा है? जब तक कि यह आपको वास्तविक समस्याएं नहीं पहुंचाता है, या आपके पास ऐसी जानकारी है जो बताती है कि यह एक मुद्दा होगा, आप अपने आवेदन के लिए आवश्यक जटिलता जोड़ रहे हैं। – Dave

उत्तर

3

आप FragmentTransaction की #remove() विधि का उपयोग करके एक टुकड़ा हटा सकते हैं। यह विधि उस कंटेनर से दृश्य को भी हटा देती है जिसे इसे संलग्न किया गया है।

हालांकि, टुकड़े प्रलेखन से:

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

यदि आपने बैक स्टैक में उस टुकड़े को जोड़ा है तो गतिविधि को मारने तक इसे मारने वाला नहीं है।

+0

क्या गतिविधि पर खंड को मारने के लिए वैसे भी नहीं हैं ?? :( – atasoyh

0

आप बैकस्टैक में जोड़ने की अनुमति देने का प्रयास कर सकते हैं। जब जब एक टुकड़ा हटा दिया जाता है, या प्रतिस्थापित किया जाता है, तो उसे बैकस्टैक में जोड़ा नहीं जाता है और इसे दोबारा दोहराया जाना चाहिए (डेटा के साथ)।

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