我使用循环添加了一些EditTexts,
textFieldsLayout =(LinearLayout)findViewById(R.id.LinearLayout2);
for(int i=1; i <= 8; i++){
final EditText ed = new EditText(this);
ed.setText("" + i);
ed.setInputType(2);
ed.setLayoutParams(lparams);
textFieldsLayout.addView(ed);
}
}
在此之后,我想获取用户添加到EditText字段中的文本,但我仍然坚持如何执行此操作。我如何获得每个EditText字段的ID?
谢谢,Oli
答案 0 :(得分:1)
只需在创建它们时将它们添加到集合中,您可以通过索引或键或循环或其他方式轻松引用它们。
EditText[] etCollection = new EditText[8];
..........
textFieldsLayout = (LinearLayout) findViewById(R.id.LinearLayout2);
for(int i=1; i <= 8; i++){
final EditText ed = new EditText(this);
ed.setText("" + i);
ed.setInputType(2);
ed.setLayoutParams(lparams);
textFieldsLayout.addView(ed);
etCollection[i] = ed; <------ adding them to the collection
}
}
答案 1 :(得分:0)
您必须对自己创建的每个人ed.setId( id );
执行id
,EditText ed = (EditText)findViewById( id );
对于您要查找的每个人都应该是唯一的。当你去寻找一个
{{1}}
你必须在某个地方跟踪你的ids。
或者,您可以保留您创建的EditTexts列表并通过列表运行以获取每个文本。