0

私の目標は単純です。et1-4のIDを持つ4つのedittextフィールドからユーザー入力を取得し、それらを。という名前の配列に配置できるようにしたいと思いますaSummary1[] = {et1, et2, et3, et4};。4つのフィールドは異なるデータ型であり、2つは単語、1つは数字、もう1つはパスワードです。これはすべてに表示されますListView。私ができるこの部分。私が理解できない部分は、に新しい行を追加したい場合ListView、新しい文字列配列を作成したい場合です。たとえばaSummary2[]、値は異なりますが、パラメータは同じです:{word, word, number, password};、thenaSummary3[]など。 。

これをどのように行うのでしょうか?または、もっと良い方法がある場合、変数と文字列を制限なしでリストエントリに割り当てるにはどうすればよいですか。たとえば、リストエントリxでは変数wyとzがxに割り当てられますが、変数aではbcとeが、qではrsとtが割り当てられます。

4

2 に答える 2

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));
    }
}
于 2012-09-02T13:04:58.567 に答える
1

コメントで述べたように、より良い解決策は、すべての必須フィールドを含むクラスを作成することです。次に例を示します。

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

次に、このクラスのオブジェクトを ArrayList 内に格納します。

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

このタイプの別のオブジェクトを作成する必要がある場合は、次のように呼び出します。

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

お役に立てれば。

于 2012-09-02T12:35:44.130 に答える