मैं एमवीवीएमक्रॉस का उपयोग कर आईओएस और एंड्रॉइड के लिए एक क्रॉस-प्लेटफार्म ऐप लिख रहा हूं।उचित विन्यास परिवर्तन हैंडलिंग
एंड्रॉइड संस्करण नेस्टेड फ्रैगमेंट्स का उपयोग करता है। उदाहरण के लिए, होम व्यू एक नेविगेशन ड्रॉवर है, इसके विभिन्न नेविगेशन हब व्यू फ्रैगमेंट्स हैं जो अन्य टुकड़ों वाले विभाजित दृश्य हो सकते हैं, और इसके शीर्ष पर, प्रत्येक दृश्य एक संवाद खंड भी दिखा सकता है।
इसके अतिरिक्त, सभी व्यूमोडेल शोव्यूमोडेल() के माध्यम से नहीं दिखाए जाते हैं, उनमें से कुछ का उपयोग प्रॉपर्टी चेंज इवेंट प्रदाताओं जैसे N=32 video में किया गया है।
यह ठीक काम कर रहा है जब तक कोई कॉन्फ़िगरेशन परिवर्तन नहीं होता है (आमतौर पर, डिवाइस को घुमाने)। जब टुकड़े के विचारों को फिर से बनाया जाता है, तो उनके दृश्य मॉडल नहीं होते हैं और शून्य पर सेट होते हैं। यह निम्नलिखित MvvmCross issue #636 में संकेत दिया गया है, जहां स्टुअर्ट ने यह भी उल्लेख किया है कि वह इस परियोजना को कुछ बेहतरीन अभ्यास सलाह के साथ आना चाहते हैं।
मेरा प्रश्न अब इस के लिए सबसे अच्छा अभ्यास क्या है? यदि आप MvvmCross में एंड्रॉइड कॉन्फ़िगरेशन परिवर्तनों का सही ढंग से समर्थन करना चाहते हैं तो आप क्या करते हैं?
मैंने ऊपर दिए गए मुद्दे में उल्लिखित समस्या के आसपास काम करने की कोशिश की है, यानि माता-पिता ViewModels में व्यूमोडेल रजिस्ट्री के कुछ रूपों द्वारा, और इसके उदाहरण स्थिति को सहेजते समय फ्रैगमेंट के व्यूमोडेल को क्रमबद्ध करने की कोशिश करके, सीमित सफलता के साथ । परिणाम सबसे अच्छा हैकिश महसूस किया। समस्या यह बनी हुई है कि एक टुकड़ा नहीं जानता कि एमवीएमएमक्रॉस में अपने व्यू मॉडल को कैसे बनाया जाए। ओह, और डिवाइस रोटेशन पर कॉन्फ़िगरेशन परिवर्तन अक्षम करने से उत्तर के रूप में गिना जाता है। ;-)