2012-09-02 199 views
0

我的目標很簡單。我希望能夠從4個編輯文本字段中獲取用戶輸入,其編號爲et1-4,並將它們放入名爲aSummary1[] = {et1, et2, et3, et4};的數組中。這四個字段是不同的數據類型,其中兩個是單詞,一個數字和一個密碼。這將全部顯示在ListView中。這部分我可以做。我無法弄清楚的部分是,如果我想在ListView中添加一個新行,我想創建一個新的字符串數組,我們說aSummary2[]具有不同的值,但參數相同:{word, word, number, password};,然後aSummary3[]等等等等。創建新陣列

怎麼會這樣做呢?或者如果有更好的方法,我將如何分配變量和字符串來列出沒有限制的條目。例如,列表項x將變量w y和z分配給x,但變量a來自b c和e,並且q來自r s和t。

+1

爲什麼是數組?爲什麼不是一個班的對象? – nhahtdh

回答

2

我想你需要一個不斷增長的陣列.....與Collections更好走,其更flexible不像數組,你不要在其聲明時初始化。

首先考慮製作一個POJO

public class Summary { 

    private String str1; 
    private String str2; 
    private int number; 
    private String password; 



    public Summary(String str1, String str2, int number, String password) { 

     this.str1 = str1; 
     this.str2 = str2; 
     this.number = number; 
     this.password = password; 
    } 

    public String getStr1() { 
     return str1; 
    } 

    public String getStr2() { 
     return str2; 
    } 

    public int getNumber() { 
     return number; 
    } 

    public String getPassword() { 
     return password; 
    } 


} 



} 

現在考慮從那裏你初始化這個類對象,然後存儲在一個ArrayList另一個類。

public class Test{ 

public static ArrayList<Summary> arList = new ArrayList<Summary>(); 
private Summary sObj; 

    public void fillMe(String p1, String p2, int p3, String p4){ 


      arList.add(new sObj(p1, p2, p3, p4)); 
    } 
} 
1

正如在評論中提到的,更好的解決方案將是創建一個包含所有必填字段的一類,例如:一個ArrayList這裏面類的

public class Summary { 
    private String field1; 
    private String field2; 
    private String field3; 
    private String field4; 
} 

,然後存儲對象:

ArrayList<Summary> summaries = new ArrayList<Summary>(); 

當你需要創建這種類型的另一目的,只要致電:

Summary summary = new Summary(); 
// initialize fields 
summaries.add(summary); 

希望這可以幫助。

+0

當我想調用特定位置的特定變量時,例如。 aSummary1 [0]或aSummary14 [3],我該怎麼做? – Adam

+0

@Adam,只需致電summaries.get(職位) – Egor

+0

每次增加4個職位。密碼將在summaries.get(3)中爲第一個密碼,但第二個將是summaries.get(7)。第十二個密碼將在summaries.get(47)。 – Adam