2012-01-02 18 views
7

मेरे पास शीर्षक खंड और सामग्री स्क्रीन पर खंड है। जब उपयोगकर्ता शीर्षक खंड में आइटम पर क्लिक करता है तो तदनुसार टुकड़ा बनाया जाता है और एक फ्रेम में डाला जाता है और चयनित शीर्षक शीर्षक खंड में हाइलाइट किया जाता है।एंड्रॉइड खंड दृश्य को पुनर्स्थापित कैसे करें

लेनदेन fragment.addToBackStack() के साथ किया जाता है, इसलिए जब उपयोगकर्ता BACK कुंजी पर क्लिक करता है, तो पिछले खंड को फ्रेम में बहाल और डाला जाता है।

लेनदेन प्रबंधक खंडों को पुनर्स्थापित करते समय दृश्य स्थिति को पुनर्स्थापित करने का सबसे अच्छा समाधान क्या है?

समस्या यह है कि मुझे शीर्षक खंड में पिछले खंड नाम को हाइलाइट करना चाहिए और मुझे पता होना चाहिए कि यह किस टुकड़े है। मैंने इसे अपने स्वयं के ढेर में दृश्य स्थिति संग्रहीत करके हल किया: जब लेनदेन प्रबंधक श्रोता का उपयोग कर बदलते लेनदेन बैकस्टैक पर टुकड़ा बनाया जाता है और बहाल किया जाता है।

लेकिन यह सही समाधान की तरह प्रतीत नहीं होता है।

उत्तर

1

उत्तर से पहले, अगली बार अपना कोड जोड़ना याद रखें। संभावना है कि मेरा जवाब आपकी मदद नहीं करेगा क्योंकि यह वास्तव में आपका कोड नहीं जानता है।

यह पुराना है लेकिन वैसे भी, अगर मैं आपका प्रश्न (और ऐप आर्किटेक्चर) सही ढंग से समझता हूं, तो यह इंटरफेसिंग के मामले की तरह लगता है।

उदाहरण:

सामग्री टुकड़ा करने के लिए एक सदस्य के रूप में इस इंटरफेस जोड़ें:

public class ContentFragment extends Fragment{ 

    public interface onFragmentTitleHighlighted{ 
     public void highLightTitle(String title); 
    } 
} 

और शीर्षक टुकड़ा इसे लागू किया है। सामग्री खंड खंड के साथ अपनी सामग्री खंडों को लैस करना सुनिश्चित करें, और सामग्री खंड पर onrereView (...) कॉल में highLightTitle(String title); पर कॉल जोड़ें। इस तरह जब भी एक नई सामग्री fragmnet जोड़ा जा रहा है शीर्षक शीर्षक पर प्रकाश डाला जाएगा।

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