【问题标题】:How to add subitems in a ListView如何在 ListView 中添加子项
【发布时间】:2013-03-22 20:47:18
【问题描述】:

我正在尝试在我的 ListView 中添加子项。 我的 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);

【问题讨论】:

标签: android


【解决方案1】:

您需要一个带有两个文本视图的自定义适配器,并在其getView() 方法中为每个文本视图设置适当的数据。

此外,现在您只将 emails 数组传递给您的适配器,您还需要一个不同的结构来包含 institutions

【讨论】:

    【解决方案2】:

    正确的做法是为每个项目创建一个 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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多