2013-02-21 92 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

相關問題