2012-11-06 64 views
1

我試圖獲取Hashmap數組的值,但我獲取索引/鍵。android獲取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使用。有沒有其他的方法?

回答

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); 
} 
0

通過數組迭代最好這樣做:

for (HashMap map: menuItems) { 
} 

即可進入地圖本身:

for (HashMap map: menuItems) { 
    String value = map.get(key); 
}