編輯,更多說明。 嗨,對不起,模糊的問題,創建一個新的哈希表的問題,我的意思是添加新行。如何在哈希表的Arraylist中爲for循環生成新的哈希表
以前,如果我知道我想添加多少行,例如我想添加3行,我將聲明3 hashmap並輸入如下所示的值。但是現在,我想做一些計算,並根據計算結果生成x數量的行,如圖所示。我不知道如何在for循環中聲明並創建一個新的行/ hashmap。
protected void populateList(int i,Double profit,Double balance, Double revenue)
{
list = new ArrayList<HashMap>();
HashMap row1 = new HashMap();
row1.put(FIRST_COLUMN,i);
row1.put(SECOND_COLUMN, balance);
list.add(row1);
HashMap row2 = new HashMap();
row2.put(FIRST_COLUMN,i);
row2.put(SECOND_COLUMN, balance);
list.add(row2);
HashMap row3 = new HashMap();
row3.put(FIRST_COLUMN,i);
row3.put(SECOND_COLUMN, balance);
list.add(row3);
}
我想創建一個多列的列表視圖和動態當你點擊一個按鈕,生產出通過計算行。所以我創建了一個hashtable(單個哈希錶行)的數組列表,但是我在創建一個新的哈希表時遇到了問題。
在的onClick
public void onClick(View view) {
for (int i=1; i <= count; i++) {
// figure to be input into column
Double profit = totalsum - cost;
Double balance = totalsum - profit - cost;
Double revenue = total sum;
populateList(i,profit,balance,revenue);
}
}
populateList方法
protected void populateList(int i,Double profit,Double balance, Double revenue)
{
list = new ArrayList<HashMap>();
HashMap temp = new HashMap();
temp.put(FIRST_COLUMN,i);
temp.put(SECOND_COLUMN, balance);
temp.put(THIRD_COLUMN, profit);
temp.put(FOURTH_COLUMN, revenue);
list.add(temp);
}
有什麼問題? – Blackbelt
'我有問題創建一個新的哈希表'你有什麼問題? –
在'populateList()':'list = new ArrayList();' - 您爲每一行創建一個新的空列表,丟棄任何以前的條目。創建列表*一次*然後將這些'HashMap'添加到它。 –
JimmyB