迭代java地图并更改值

时间:2015-08-16 21:29:34

标签: java android

我有<CheckBox, ImageButton>的地图。

我希望能够遍历此地图并更改每个ImageButton的图像。有什么方法可以做到这一点吗? getValue()似乎不允许我使用与每个ImageButton关联的方法。

4 个答案:

答案 0 :(得分:1)

// support you define your hash map like this
HashMap<CheckBox,ImageButton> hs = new HashMap<CheckBox,ImageButton>();
// then
for(Map.Entry<CheckBox, ImageButton> e : hs.entrySet())
{
    ImageButton imgBtn = e.getValue();
    // do whatever you like to imgBtn
}

答案 1 :(得分:0)

HashMap? 使用HashMap.values()获取已保存值的集合。 http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#values()

答案 2 :(得分:0)

您可以使用keySet迭代keys的{​​{1}},并使用与每个关键字相关联的值get进行迭代:

Map

答案 3 :(得分:0)

取自this answer

您必须将getValue的结果强制转换为ImageButton才能使用其函数。

for (CheckBox cb : checkBoxes.keySet()) {
    ImageButton btn = checkBoxes.get(cb);
}