2011-08-03 3 views
5

मैं फ़ोन सेटिंग्स में ऑब्जेक्ट्स की दो सूचियों को सहेजने की कोशिश कर रहा हूं, लेकिन मैं एक अजीब मुद्दे पर फंस गया हूं (लेकिन शायद यह मुझे कहीं मूर्खतापूर्ण गलती कर रहा है)।एप्लिकेशन सेटिंग्स को ठीक से सहेजा नहीं गया है

यदि मैं केवल सूचियों में से एक को सहेजता हूं, तो यह माना जाता है - यह इसे सहेज लेगा, और अगली बार ऐप लॉन्च होने पर इसे पुनः लोड करें। लेकिन अगर मैं 2 सूचियों को सहेजने का प्रयास करता हूं, तो उनमें से कोई भी सही ढंग से सहेजा नहीं जा रहा है। कोई त्रुटि या कुछ भी नहीं, बस "खालीपन"।

नीचे कोड देखें।

//My save method 
public void Gem() 
     { 
      var settings = IsolatedStorageSettings.ApplicationSettings; 

      if (settings.Contains(INDTASTNINGER_LIST)) 
      { 
       settings[INDTASTNINGER_LIST] = _indtastningsListe; 
      } 
      else 
       settings.Add(INDTASTNINGER_LIST, _indtastningsListe); 

      if (settings.Contains(INDTASTNINGER_LIST2)) 
      { 
       settings[INDTASTNINGER_LIST2] = _indtastningsListe2; 
      } 
      else 
       settings.Add(INDTASTNINGER_LIST2, _indtastningsListe2); 
      settings.Save(); 
     } 

     //Constructor supposed to load settings 
     public Indtastninger() 
     { 
      var settings = IsolatedStorageSettings.ApplicationSettings; 

      if (settings.Contains(INDTASTNINGER_LIST)) 
      { 
       _indtastningsListe = null; 
       _indtastningsListe = (List<Indtastning>)settings[INDTASTNINGER_LIST]; 
      } 
      if (settings.Contains(INDTASTNINGER_LIST2)) 
      { 
       _indtastningsListe2 = null; 
       _indtastningsListe2 = (List<Indtastning>)settings[INDTASTNINGER_LIST2]; 
      } 
     } 

मैं क्या गलत कर रहा हूं? यदि मैं "list2" सामग्री के साथ भाग को टिप्पणी करता हूं, तो पहला व्यक्ति पूरी तरह से सहेजा/पुनर्प्राप्त किया जाएगा।

+0

और शायद मुझे यह जोड़ना चाहिए कि इससे कोई फर्क नहीं पड़ता कि मैं किस सूची में टिप्पणी करता हूं। अभी भी एक के साथ सफलता, लेकिन दो के साथ, कुछ भी बचाया/पुनर्प्राप्त नहीं किया गया है। –

+0

क्या आप एसडीके का उपयोग कर रहे हैं? मैं आरसी पर इसे repro प्रतीत नहीं कर सकता। –

+0

क्या होगा यदि आप जोड़ों के बीच 'सेटिंग्स। सहेजें() 'जोड़ते हैं। यह हो सकता है कि दूसरी सूची का क्रमबद्धीकरण टूट रहा है और 'save()' –

उत्तर

2

मुझे कुछ समय पहले एक ही समस्या का सामना करना पड़ा है, समस्या यह है कि आप केवल पृथक स्टोरेज ऑब्जेक्ट्स को सहेज सकते हैं जो एक्सएमएल सीरियलज़ेबल्स हैं।

यदि आप अन्य ऑब्जेक्ट को सहेजते हैं, तो यह डीबगर के साथ भी काम करेगा, लेकिन जब ऐप पुनरारंभ होता है, तो सभी सहेजे गए डेटा खो जाते हैं।