所以我想出了这段代码
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)));
}
}
这是我想要做的事情的见解,但......
现在我的问题是图像不会出现在我的代码之前。我认为我的问题有点类似loop through hashtable或Can't See Contents并注意Enumeration
,Iterator
,但无法在我的代码中设法应用它们。可以有人指导我,或任何建议都可以解决我的问题。
答案 0 :(得分: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(int inte = 0; inte < count; inte++){
// start with inte beeing 0, execute while inte is smaller than 3
// true 3 times
说明:
for循环具有以下结构:
for (initialization; condition; update)
在循环开始之前执行一次 initialization
。在每次循环迭代之前检查condition
,并在每次迭代后执行update
。
您的initialization
是int inte = 0;
(执行一次)。您的condition
为inte == count
,这是错误的,因为inte
为0
且count
为3
。因此条件为false
,并且跳过循环。