2014-04-20 121 views
0

我正在按照教程解析JSON对象。本教程定义:如何从ArrayList中获取对象<HashMap <String,String >>

ArrayList<HashMap<String, String>> contactList; 

,后来它被添加每个JSON对象到ArrayList:

     // tmp hashmap for single contact 
         HashMap<String, String> contact = new HashMap<String, String>(); 

         // adding each child node to HashMap key => value 
         contact.put(TAG_IDOBJETO, idObjeto); 
         contact.put(TAG_TITULO, titulo); 
         contact.put(TAG_DIRECCION, direccion); 
         contact.put(TAG_LATITUD, latitud); 
         contact.put(TAG_LONGITUD, longitud); 
         contact.put(TAG_PROCEDENCIA, procedencia); 
         contact.put(TAG_IMAGEN, imagen); 
         Log.e("REGISTRO ACTUAL",procedencia); 
         // adding contact to contact list 
         contactList.add(contact); 

我现在会得到每个对象的内容,以创建地图厂商,但我不知道怎么做。我需要你的帮助。

回答

1

你只是扭转过程:

int i = ...; 
HashMap<String,String> contact = contactList.get(i); // get the i-th contact 
String idObjecto = contact.get(TAG_IDOBJECTO); 
// etc. 

要通过的结果onPostExecute迭代并创建标记:

protected void onPostExecute(...) { 
    for (HashMap<String,String> contact : contactList) { 
     Marker marker = map.addMarker(new MarkerOptions() 
      .title(contact.get(TAG_TITULO)) 
      .position(new LatLng(
       Double.parseDouble(contact.get(TAG_LATITUD)), 
       Double.parseDouble(contact.get(TAG_LONGITUD)) 
      )) 
      // etc. 
     ); 
     // do something with the marker 
    } 
} 
+0

感谢您侑答案。您介意帮助我从JSON解析过程的onPostExecute方法创建所需的迭代以获取所有对象数据以创建标记吗? – mvasco

+0

@mvasco - 我添加了一些示例代码。 –

+0

我真的很感激,你已经度过了我的一天,我一直在寻找这一整天。非常非常感谢你。 – mvasco

相关问题