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

在您的示例中,实际上并未使用 store 变量,您是否打算使用它来存储 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
}

然后在 for 循环之外,您可以访问对 each 的引用EditText,例如

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