2011-08-03 121 views
5

我試圖在手機ApplicationSettings中保存兩個對象列表,但我被困在一個奇怪的問題(但它可能是我在某個地方犯了一個愚蠢的錯誤)。ApplicationSettings沒有正確保存

如果我只保存其中一個列表,它會按預期工作 - 它會保存它,並在下次啓動應用程序時重新加載它。 但是,如果我嘗試保存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

您使用的是哪個版本的SDK?我似乎無法在RC上重現這一點。 –

+0

如果在添加之間添加'settings.Save()'會怎麼樣。這可能是第二個列表的序列化正在打破,而不是調用我正在使用芒果的'save()' –

回答

2

前段時間我遇到過同樣的問題,問題是您只能保存XML序列化的IsolatedStorage對象。

如果保存其他對象,即使使用調試器也能工作,但是當應用程序重新啓動時,所有保存的數據都會丟失。