从字符串数组向listview添加数据

时间:2013-02-21 11:00:52

标签: android android-listview arrays dynamic-list

我正在尝试使用arrayAdapter创建一个4列列表视图,并在populateList()中手动添加值

                      private void populateList()
                         {

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

        HashMap<String,String> temp1 = new HashMap<String,String>();
            temp1.put(FIRST_COLUMN,"Diaries");
            temp1.put(SECOND_COLUMN, "Products");
            temp1.put(THIRD_COLUMN, "Rs. 400");
            temp1.put(FOURTH_COLUMN, "ggg Unit");
        list.add(temp1);

        HashMap<String,String> temp2 = new HashMap<String,String>();
            temp2.put(FIRST_COLUMN,"Note Books");
            temp2.put(SECOND_COLUMN, "Products");
            temp2.put(THIRD_COLUMN, "Rs. 600");
            temp2.put(FOURTH_COLUMN, "hhh Unit");
        list.add(temp2);

                    }

我的问题是我想从二维数组中动态添加列表项 怎么可能???项目数量与字符串数组的大小相同? 即;

                          HashMap<String,String> temp1 = new HashMap<String,String>();

            temp1.put(FIRST_COLUMN,"Diaries");
            temp1.put(SECOND_COLUMN, "Products");
            temp1.put(THIRD_COLUMN, "Rs. 400");
            temp1.put(FOURTH_COLUMN, "ggg Unit");

我想显示

                            temp1.put(FIRST_COLUMN,"myArry[i][j]");
            temp1.put(SECOND_COLUMN, "myArry[i][j]");
            temp1.put(THIRD_COLUMN, "myArry[i][j]");
            temp1.put(FOURTH_COLUMN, "myArry[i][j]");
<循环中的

我的疑问是如何动态创建hashmap

3 个答案:

答案 0 :(得分:1)

我不太明白你想要什么,但你可以试试这个: -

List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
HashMap<String,String> temp = null;

for(int i=0;i<2;i++){
    temp = new HashMap<String,String>();
    for(int j=0;j<4;j++){
    temp.put(String.valueOf(j), myArr[i][j]);
    }
list.add(temp);
}

注意:,而不是FIRST_COLUMNSECOND_COLUMN,您必须使用1,2,3..作为HashMap的密钥。

答案 1 :(得分:1)

尝试这样的事情。

HashMap<String,String> temp1 = null;
for (int i = 0; i < myArry.length; i++) {
temp1 = new HashMap<String, String>();
temp1.put(FIRST_COLUMN, myArry[i][0]);
temp1.put(SECOND_COLUMN, myArry[i][1]);
temp1.put(THIRD_COLUMN, myArry[i][2]);
temp1.put(FOURTH_COLUMN, myArry[i][3]);
list.add(temp1);
}

答案 2 :(得分:1)

在你的代码中我没有看到创建列表视图的地方。您需要在xml中创建一个列表视图,并使用适配器填充数据