2017-02-16 57 views
-1

獲得從Java HashMap的值。這是我的HashMap對象:無法通過使用密鑰

public static Map<String, Integer> kart = new HashMap<String, Integer>(); 
String pIndex="Any Index Value"; 
int value=anyIntegerValue; 

代碼更新卡丁車:

Globals.kart.put(pIndex, value); 

代碼檢查索引,並獲得價值:

String inKart = "Product is not in Kart"; 
if(Globals.kart.containsKey(pIndex)){ 
    int count = Globals.kart.get(pIndex); 
    inKart = "Product is in Kart " + count; 
} 
System.out.print(inKart); 

它正在成功檢查密鑰,但是當它試圖從鑰匙的基礎上獲得卡丁車的價值時,它會拋出一個異常,字符串資源ID#0x1

No package identifier when getting value for resource number 0x00000001 
android.content.res.Resources$NotFoundException: String resource ID #0x1 

所有示例顯示我可以通過使用String鍵獲取值,但它不適用於我。我在這裏做錯了什麼?

編輯:

我編輯了一些打字錯誤,並重新編寫了一些變量名,以我自己編寫的原代碼。

請不要,如果我使用containsKey(pIndex)檢查密鑰,它不會給出任何錯誤。異常僅發生在線kart.get(pIndex)

有些評論提到這個錯誤與HashMap無關。如果是這種情況,那麼請解釋爲什麼此代碼僅在Android中引發該特定行的異常。

+0

'kart'應該和Globals.kart一樣嗎? – khelwood

+2

你的方法在哪裏調用資源? –

+2

異常與問題中的HashMap和代碼片段無關。 –

回答

0

HashMap返回一個整數值,並且在TextView中被編譯爲整數或字符。所以我用String明確地表示它,一切都很好。

再次感謝。

Ram Ram