我试图获取Hashmap数组的值,但我得到索引/键。
ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
编码我如何从解析器中获取值
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
map.put(KEY_LAT, parser.getValue(e, KEY_LAT));
map.put(KEY_LON, parser.getValue(e, KEY_LON));
map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
menuItems.add(map);
然后我尝试获取值,但我收到索引。
for (int i = 0; i < menuItems.size(); i++){
int latitude = Integer.parseInt(KEY_LAT);
int longitude = Integer.parseInt(KEY_LON);
itemizedOverlay.addOverlayItem(latitude, longitude, KEY_NAME, makerDefault);
}
如何从menuItems数组中获取值? 在其他活动中,我获取值,但通过TextView使用。还有其他方法吗?
答案 0 :(得分:4)
试试这个:
for (Map<String, String> menuItem : menuItems) {
int latitude = Integer.parseInt(menuItem.get(KEY_LAT));
int longitude = Integer.parseInt(menuItem.get(KEY_LON));
itemizedOverlay.addOverlayItem(latitude, longitude, KEY_NAME, makerDefault);
}
答案 1 :(得分:0)
迭代数组最好这样做:
for (HashMap map: menuItems) {
}
然后你可以访问地图本身:
for (HashMap map: menuItems) {
String value = map.get(key);
}