我正在尝试使用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
答案 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_COLUMN
,SECOND_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中创建一个列表视图,并使用适配器填充数据