0

複数の EditText を追加するコードがあります。それらを配列に格納するにはどうすればよいですか。この 10 という数字は単なる例であり、それよりも大きな数字になる可能性があります。ボタンをクリックした後に保存するにはどうすればよいですか

for(int i=0; i<10; i++) {
    String store[] = new String[10];
    EditText addAnsMCQ = new EditText(this);      
    AnswerRG.addView(addAnsMCQ, 1);
    addAnsMCQ.setWidth(200);
    addAnsMCQ.setId(1000);
}
4

2 に答える 2

0

各 EditText への参照を保持/取得する必要があり、その値を .getText().toString() で検索して、好きな方法で保存できます。

でもあなたの言う通りなら

この 10 という数字は単なる例であり、それよりも大きな数字になる可能性があります。

数が大きくなる場合は、Adapter と ListView などを使用して View オブジェクトを保持する必要があります。これにより、すべてを画面に表示しやすくなります。そして、ビューのリサイクルの利点を提供します。

于 2012-05-13T17:06:14.603 に答える
0

あなたの例では、ストア変数は実際には使用されていませんが、EditTexts を格納するために使用するつもりでしたか?

の配列を使用する代わりに、 の配列をString使用EditTextしてそれらへの参照を保存します。

EditText store[] = new EditText[10];

for(int i=0; i<10; i++) {
    EditText addAnsMCQ = new EditText(this);     
    AnswerRG.addView(addAnsMCQ, 1);
    addAnsMCQ.setWidth(200);
    addAnsMCQ.setId(1000);
    store[i] = addAnsMCQ; //store a reference in the array to the EditText created
}

EditText次に、 for ループの外側で、 eachへの参照にアクセスできます。

store[0].setWidth(300);
于 2012-05-13T17:12:43.430 に答える