我有一个代码添加了多个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);
}
答案 0 :(得分:0)
您需要保留/获取每个EditText的引用,然后您可以使用.getText()。toString()查找其值,您可以以任何您喜欢的方式存储它。
但是,正如你所说
这个数字10只是一个例子,数字可能比那个更大。
如果数字会更大,您应该使用适配器和ListView或其他东西来保存您的View对象。这样可以更轻松地将所有内容都放到屏幕上。并将为您提供回收利用的好处。
答案 1 :(得分: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循环之外,您可以访问每个EditText
的引用,例如
store[0].setWidth(300);