将值赋给列表<string []> </string []>

时间:2012-03-18 13:51:39

标签: java android list

我需要你的帮助,因为我可能不太了解它。

这个List<String[]> dataList定义了一个包含字符串数组的列表,对吧? 所以我要说我有这个值:

info[0], info[1], name[0],name[1]

如何将它们分配到上面的列表,按索引分组?我的意思是info [0]是名字[0],依此类推。我想这是因为稍后在我的代码中我将使用它:

public FacilitiesAdapter (List<String[]> dataList) {
        this.dataList = dataList;
    }

我需要我的datalist在每一行中都有我想要的数据。我理解错了吗?

6 个答案:

答案 0 :(得分:4)

将其定义为一个类:

public class MyData {
    public String info;
    public String name;
}

然后你有:

List<MyData> mDatalist;

public FacilitiesAdapter (List<MyData> dataList) {
    this.mDataList = dataList;
}

答案 1 :(得分:1)

这样的东西?

List<String[]> dataList = new ArrayList<String[]>();
        String name[] = new String[]{"n1","n2"};
        String info[] = new String[]{"i1","i2"};

        for(int i=0;i<name.length;i++)
        {
            dataList.add(new String[]{name[i],info[i]});
        }

答案 2 :(得分:0)

这有帮助吗?

public void arrayLearning(){
    List<String[]> dataList = new ArrayList<String[]>();
    String[] info = {"first info", "second info"};
    String[] name = {"first name", "second name"};
    dataList.add(new String[]{info[0], name[0]});
    dataList.add(new String[]{info[1], name[1]});
}

答案 3 :(得分:0)

你可以这样做:

List<String[]> dataList = new List<String[]>();
int len = info.length;
for (int i = 0; i < len; i++)
    dataList.add(new String[] {name[i], info[i]});

然而,凯文的答案更适合灵活性。如果您想稍后添加一个额外的字段,如果您已经创建了自己的类而不是使用String数组,那将会更容易。

答案 4 :(得分:0)

创建列表

String[] name = new String[] { "name1", "name2" };
String[] info = new String[] { "info1", "info2" };
List<String[]> dataList = new ArrayList<String[]>();
for (int i = 0; i < name.length; i++) {
   String[] item = new String[2];
   item[0] = name[i];
   // info and name must have the same size or you need some checks here
   item[1] = info[i];
  dataList.add(item);
}

打印

for (int i = 0; i < dataList.size(); i++) {
    Log.d("TAG", "item " + i + 
            " name:" + dataList.get(i)[0] + 
            " info:" + dataList.get(i)[1]);
}

在您的适配器中使用

public View getView(int position, View convertView, ViewGroup parent) {
    String[] item = datalist.get(position);
    String name = item[0];
    String info = item[1];
}

答案 5 :(得分:0)

如果多个数据类型绑定到一个唯一数据,则始终使用数据封装。凯文的方法是最适合和高度灵活的方法。