从具有 Hashmap 值 X 的数组中获取 hashmap

发布于 2024-12-04 17:12:45 字数 3175 浏览 1 评论 0原文

我有一个包含多个哈希图的数组列表,其中包含来自 sql 数据库的信息

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

这个数组列表最终将用项目(人名)填充我的列表视图。 当我单击一个项目时,我想将该哈希图的所有内容发送到另一页面。 例如:

约翰<

现在我想将包含 John 的所有信息的 hashmap 发送到另一个 android 页面。 如何从哈希图中获取该信息?

这是我的代码:

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

}

所以这一切都必须发生在“String achternaam = uittekst[1].toString();”下

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();"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沙与沫 2024-12-11 17:12:45
for(Hashmap<String, String> map: mylist) {
    for(Entry<String, String> mapEntry: map) {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
    }
}
for(Hashmap<String, String> map: mylist) {
    for(Entry<String, String> mapEntry: map) {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文