1

I have an arraylist with multiple hashmaps that contains information that comes from a sql database

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

This arraylist will eventually fill my listview with items (names of people). When I click on one item I want to send all of the content of that hashmap to another page. For example:

John <

Now I want to send the hashmap with all the information of John to another android page. How do I get that information out of the hashmap?

This is my code:

public class Contactenlijst extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contactview);

    ListView lv;
    lv = (ListView) findViewById(R.id.list);        
    lv.setTextFilterEnabled(true);

    String[] from = new String[] {"naam"};
    int[] to = new int[]{R.id.naam};

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    // Get the data (see above)
    JSONObject json = Database
            .getJSONfromURL("http://fabian.nostradamus.nu/Android/getcontactinfo.php");

    try {
        JSONArray contactinfo = json.getJSONArray("contactlijst");

        // Loop the Array
        for (int i = 0; i < contactinfo.length(); i++) {
            HashMap<String, String> map = new HashMap<String, String>();
            JSONObject e = contactinfo.getJSONObject(i);
            map.put("voornaam", e.getString("staff_name"));
            map.put("achternaam", e.getString("staff_lastname"));
            map.put("geboortedatum", e.getString("staff_dateofbirth"));
            map.put("adres", e.getString("staff_address"));
            map.put("postcode", e.getString("staff_address_postal"));
            map.put("woonplaats", e.getString("staff_address_city"));
            map.put("email", e.getString("staff_email"));
            map.put("telefoon", e.getString("staff_phone"));
            mylist.add(map);
        }
    } catch (JSONException e) {
        Log.e("log_tag", "Error parsing data " + e.toString());
    }

    //array for view
    ArrayList<HashMap<String, String>> mylist2 = new ArrayList<HashMap<String, String>>();
    for(int i = 0; i < mylist.size(); i++){
        HashMap<String,String> map2 = new HashMap<String, String>();
        map2.put("naam", (mylist.get(i).get("voornaam")+" "+(mylist.get(i).get("achternaam"))));
        mylist2.add(map2);
    }
    try{
    lv.setAdapter(new SimpleAdapter(this, mylist2, R.layout.list_item, from, to));
    }catch (Exception e){Log.d("test1","test2");}

    //onclick stuur array naar contactinfo
    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
            String text = ((TextView) view).getText().toString();
            Intent i = new Intent(Contactenlijst.this, Contactinfo.class);

            String uittekst[] = text.split(" ");
            String voornaam = uittekst[0].toString();
            String achternaam = uittekst[1].toString();


            startActivity(i);        
        }
      });   
}

}

So it all has to happen under "String achternaam = uittekst[1].toString();"

1 Answer 1

1
for(Hashmap<String, String> map: mylist) {
    for(Entry<String, String> mapEntry: map) {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
    }
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.