2013-02-17 3 views
0

Так я пришел с этим кодомсодержания Изображения HashMap не появится

Map<Integer, Integer> images = new HashMap<Integer, Integer>();  
    images.put(1,R.drawable.a);  
    images.put(2,R.drawable.b);  
    images.put(3,R.drawable.c); 

String[] abcd = {"a","b","c"}; 
    Integer count = 3; 
    for(int inte = 0; inte==count;inte ++){ 
     if(strn.get(inte).equalsIgnoreCase(abcd[inte])){   
      image.setImageDrawable(getResources().getDrawable(images.get(inte)));   
     } 
    } 
  1. положить изображения из HashMap для вводимого коэффициента с целыми ключами
  2. я сделал массив [] для сравнения с пользователем вход, цикл for для перемещения с содержимым хэш-карты и
  3. для отображения изображения, если условие истинно.

это понимание того, что я хочу сделать, но ... теперь моя проблема в том, что изображение не появится до моего кода. Я думаю, что мой вопрос немного похож на loop through hashtable, или Can't See Contents и уведомляет Enumeration, Iterator, но не может применить их в моем коде. может ли кто-нибудь руководить мной или любое предложение будет хорошо, чтобы решить мою проблему.

+0

Принятый ответ на этот вопрос поможет вам: [получить несколько случайных значений из ArrayList HashMap] (http://stackoverflow.com/questions/14914062/get-multiple-random-values-from-arraylist-hashmap/14914068 # 14914068) – jlordo

ответ

0

Взято из моего ответа here:

изменения

for(int inte = 0; inte==count; inte++){ 
// start with inte beeing 0, execute while inte is 3 (count is 3) 
// never true 

в

Объяснение:

для цикла имеет следующую структуру:

for (initialization; condition; update) 

initialization Выполняется один раз перед запуском цикла. condition проверяется перед каждой итерацией цикла, а update выполняется после каждой итерации.

Ваш initialization был int inte = 0; (выполнен один раз). Ваш condition был inte == count, что неверно, поскольку inte is 0 и count is 3. Таким образом, условие равно false, и цикл пропускается.

+0

oh ... извините за мой нелогичный цикл, там, спасибо за исправление его sir jlordo, но все же моя основная проблема остается нерешенной –

+0

@CharlesCasem: Является ли ваше условие 'if' когда-либо оцениваемым' true'? Можете ли вы показать, что такое контент 'strn'? – jlordo

+0

возвращает истину, если я взять 'if' заявление вне' for' петли затем подправить код немного, как это 'если (strn.get (0) .equalsIgnoreCase (ABCD [0])) {\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t image.setImageDrawable (GetResources() getDrawable (images.get (1)).); \t \t} 'Я думаю, моя проблема кроется в цикле' for' и как 'setImageDrawable' получает ключ от' images' –

Смежные вопросы