2017-02-16 8 views
-1

Это мой HashMap объект:Не удалось получить значение из Java 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); 

Он успешно проверяет ключ, но когда он пытается получить значение из картинга на основе ключа, он выдает исключение, String reource ID # 0x1.

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

Все примеры, показывающие, что я могу получить значение с помощью клавиши String, но это не работает для меня. Что я здесь делаю неправильно?

EDIT:

Я редактировал несколько опечаток и переписаны некоторые имена переменных на то, что я написал в исходном коде.

Пожалуйста, не делайте этого, если я проверяю ключ, используя containsKey (pIndex), это не дает никаких ошибок. Исключение происходит только в строке kart.get (pIndex).

В некоторых комментариях упоминается, что ошибка не имеет ничего общего с HashMap. Если это так, то, пожалуйста, объясните, почему этот код выбрасывает исключение только для определенной строки в Android.

+0

Предполагается, что 'kart' должен быть таким же, как' Globals.kart'? – khelwood

+2

Где ваш метод вызова ресурсов? –

+2

Исключение не связано с HashMap и фрагментом кода в вопросе. –

ответ

0

HashMap возвращает целочисленное значение и был сгенерирован либо как целое число, либо char в TextView. Поэтому я явно указываю его на String, и все хорошо.

Еще раз спасибо.

Ram Ram