【问题标题】:How to pass more than one array to a listview?如何将多个数组传递给列表视图?
【发布时间】:2010-01-07 08:46:22
【问题描述】:

我正在使用 ListView 来显示项目。目前我正在向它传递一个字符串数组。但是我想再传递一个数组并将其项目与第一个数组的项目一起显示;也就是说,不知何故有两行文本。

我该怎么做?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    您还可以为您的列表制作一个自定义适配器,并使用自定义类作为该适配器的项目类型。像这样:

    
    class CustomAdapter extends ArrayAdapter < RowData > {
       ...
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
            ...
            }
    }
    
    class RowData {
       String line1;
       String line2
       RowData(String l1, String l2){line1=l1;line2=l2;}
    }
    

    问候!

    【讨论】:

      【解决方案2】:

      由于这两个数组都包含要在列表视图的一行中显示的数据,IMO 认为它们以某种方式相关是合乎逻辑且公平的。
      您可以创建一个名为 RowData 的类,并将 String(第一个数组的数据类型)和 Object(或第二个数组的数据类型)作为其成员。然后,您可以将 Rowdata 类型的数组传递给列表视图。
      例如,如果您想将: String[] 和 Date[] 传递给 listView,您将通过 RowData[] 现在,其中 Rowdata 定义为:

      class RowData{ 
      String dataItem1; 
      Date dataItem2;
      }
      

      【讨论】:

        【解决方案3】:

        使用表格或将各种数组的项格式化为新数组。

        【讨论】:

          猜你喜欢
          • 2014-03-11
          • 1970-01-01
          • 2011-04-09
          • 2015-10-02
          • 1970-01-01
          • 2011-07-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多