如何在Android中迭代控件以在循环中获取其值

如何在Android中迭代控件以在循环中获取其值,android,eclipse,Android,Eclipse,我在Android的活动布局中有许多控件 我想用一个简单的例子来说明它们的价值,问题是 Eclipse随机分配ID,因此我无法在 访问for循环中控件的顺序方式,因为 它们不是顺序ID 以下是我尝试这样做的原因: int visibleId = R.id.fieldVisible1; int editId = R.id.editField2; int spinnerId = R.id.spinner1; for(int nIndex = 0; nIndex < 12; nIndex++)

我在Android的活动布局中有许多控件 我想用一个简单的例子来说明它们的价值,问题是 Eclipse随机分配ID,因此我无法在 访问for循环中控件的顺序方式,因为 它们不是顺序ID

以下是我尝试这样做的原因:

int visibleId = R.id.fieldVisible1;
int editId = R.id.editField2;
int spinnerId = R.id.spinner1;

for(int nIndex = 0; nIndex < 12; nIndex++)
{

CheckBox checkBox = (CheckBox)findViewById(visibleId + nIndex);
checkBox.setChecked(_fieldsInfoArray.get(nIndex).getVisible() == 1);

EditText edit = (EditText)findViewById(editId );
edit.setText(_fieldsInfoArray.get(nIndex).getName());

Spinner spinner = (Spinner)findViewById(spinnerId + nIndex);
spinner.setSelection(_fieldsInfoArray.get(nIndex).getOffset());
}
int visibleId=R.id.fieldVisible1;
int editId=R.id.editField2;
int spinnerId=R.id.spinner1;
对于(int-nIndex=0;nIndex<12;nIndex++)
{
复选框=(复选框)findViewById(visibleId+nIndex);
checkBox.setChecked(_fieldsInfoArray.get(nIndex.getVisible()==1);
EditText edit=(EditText)findViewById(editId);
edit.setText(_fieldsInfoArray.get(nIndex.getName());
微调器微调器=(微调器)findViewById(微调器ID+nIndex);
spinner.setSelection(_fieldsInfoArray.get(nIndex.getOffset());
}
如何使Eclipse为控件分配顺序ID,以便
只需将循环中的id增加1?

更好的方法可能是研究以下各项的使用:

int children = layout.getChildCount();
for (int i=0; i < children; i++){
  View v = ll.getChildAt(i);
}
int children=layout.getChildCount();
for(int i=0;i

这将允许您循环布局中的所有视图,而无需知道它们的ID。

您可以将ID放入数组并通过该数组进行索引吗?是的,我可以,但我试图看看是否可以获得一系列控件的顺序ID,因为现在我有12个控件,每个控件有三种不同类型,如果每种类型有30个对照,会发生什么?尝试在数组中键入ID…嗯,我从来没有想过,但是我怎么知道我引用的是什么控件呢?位置是importatn,因为echa控制值取决于位置到特定行中的数据库表,我不确定为什么需要循环视图,除非以编程方式添加视图,但可以通过设置其标记来标识每个视图。