2013-03-12 103 views
0

我已經這樣做了至今棋在GWT + MVP,並試圖存儲在本地存儲狀態

public void addStorage() { 
    stockStore = Storage.getLocalStorageIfSupported(); 
    if (stockStore != null) { 
     stockStore.setItem(("Index" + index), ("state" + HistoryCount)); 
     stockMap.put(("Index" + index), ("state" + HistoryCount)); 
    } 
} 

public void loadStorage() { 
    String s; 
    stockStore = Storage.getLocalStorageIfSupported(); 
    if (stockStore != null) { 
     stockMap = new 
     StorageMap(stockStore); 
     for (int i = 0; i < stockStore.getLength(); i++) { 
      if (stockMap.containsValue(index)) { 
       s = stockStore.getItem("Index" + index); 
       state = stateRecord.get(s); 
       clearHighlights(); 
       setState(state); 
       break; 
      } 
     } 
    } 
} 

我不知道我錯過了什麼。這兩個函數由它們的處理程序調用。加載並保存。加載存儲將加載存儲的國際象棋並保存將保存當前的國際象棋狀態。

+2

,什麼是問題??? – 2013-03-12 07:17:22

+0

這不起作用。我的狀態仍未保存或加載。代碼有問題嗎? – 2013-03-12 07:39:15

回答

0

也許你有錯誤在這裏stockMap.containsValue(index)但應該是stockMap.containsValue("Index" + index),修正版本:

for (int i = 0; i < stockStore.getLength(); i++) { 
     if (stockMap.containsValue("Index" + index)) { 
      s = stockStore.getItem("Index" + index); 
      state = stateRecord.get(s); 
      clearHighlights(); 
      setState(state); 
      break; 
     } 
    }