簡體   English   中英

如何在ListView中添加子項

[英]How to add subitems in a ListView

我正在嘗試在ListView中添加subItems。 我的listView應該通過電子郵件組織項目及其子機構的機構,但是使用以下代碼我只是添加了項目,如何在其上添加我的子項目? 我嘗試了很多東西,但它不起作用。

        List<Login> listEmails = JsonUtil.getAllEmails(json);

        ArrayList<String> emails = new ArrayList<String>();

        ArrayList<String> institutions = new ArrayList<String>();

        for (Login loginObj : listEmails) {

            emails.add(loginObj.getEmailAndress());
        }

        for (Login loginObj : listEmails) {

            institutions.add(loginObj.getInstitution());
        }

        ArrayAdapter<String> adapter;

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, emails);

        emailListView.setAdapter(adapter);

您需要一個帶有兩個textview的自定義適配器,並在其getView()方法中為每個textview設置適當的數據。

此外,現在您只向emails陣列傳遞適配器,您還需要一個不同的結構來包含institutions

正確的方法是為每個項目創建一個HashMap:查看下面的代碼:

List<Login> listEmails = JsonUtil.getAllEmails(json);

                ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(listEmails.size());

                for (Login loginObj : listEmails) {

                    HashMap<String, String> item = new HashMap<String, String>();
                    item.put("email", loginObj.getEmailAndress());
                    item.put("institution", loginObj.getInstitution());

                    list.add(item);
                }

                String[] from = new String[] { "email", "institution" };

                int[] to = new int[] { android.R.id.text1, android.R.id.text2 };

                int nativeLayout = android.R.layout.two_line_list_item;

                emailListView.setAdapter(new SimpleAdapter(this, list, nativeLayout , from, to));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM