2013-02-21 94 views
-2

我试图用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); 

        } 

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

      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"); 

insted的我想显示

      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]"); 

for循环 也是我doubut是如何创建的HashMap动态

回答

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

+0

HI,RJ thanx为您的答复,我确切的问题是我有一个2D字符串数组,我想从字符串数组中添加这些项目listview .. – 2013-02-21 11:13:29

+0

我认为你在动态创建'HashMap'时有问题吗?我的文章将解决这个问题,你可以使用'List'来填充你的'ListView'。 – SudoRahul 2013-02-21 11:14:46

+0

如果这是我的字符串数组,String [] [] mDialogStrings = new String [10] [10] = {{“a”,“b”,“c”},{“d”,“e” f“},{”g“,”h“,”i“}}如何将这些项目添加到列表视图 – 2013-02-21 11:18:43

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); 
} 
+0

嗨! Raj,也发布此代码之前发布此问题..请了解我的确切问题..我的要求是,不要只添加一个名为temp1的散列映射,我想创建具有相同大小的阵列动态散列映射 – 2013-02-21 11:23:48

+0

嗨拉杰,我得到了解决方案..谢谢你的支持,请please upvote我的问题 – 2013-02-23 07:43:40

+0

请..请please upvote我的问题.. – 2013-02-23 07:44:42

1

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

+0

我已经创建了4列自定义列表视图和其工作正常,但问题是动态添加它从2D字符串数组,如果你可以解决这个问题,请发布你的回复 – 2013-02-21 11:32:17

+0

一般的想法是,如果你需要在运行时添加列表项,你需要更新数据集在适配器中调用notifydataset更改。这将通知列表视图,并将获取包含新添加项目的所有项目的视图。 – 2013-02-21 11:39:03

+0

我得到了很多解决方案.............. thanx ...Ajith – 2013-02-23 07:40:16

相关问题