在我的应用程序中,我正在动态创建10个EditText。现在我想在运行时给出不同的值,我想将它添加到列表中。我已将EditText对象分配给String变量,如object.getText.toString()。但我无法获得任何价值。我是android的初学者。谁能帮助我如何实现这一目标?提前谢谢。
for(int i=0;i<=10;i++)
{
requirement = require.get(i);
RelativeLayout rl1 = new RelativeLayout(getActivity());
rl1.addView(req1);
req1estimate_value = new EditText(getActivity());
String value = req1estimate_value.getText().toString();
rl2.addView(req1estimate_value);
}
答案 0 :(得分:1)
试试这个。您应该在for
循环之外实例化相对布局(rl1),并且应该添加子视图,以便所有视图都属于父布局。之后,为了访问所有EditText
的值,您可以使用以下内容:
String viewValue;
ViewGroup rootView = (ViewGroup) rl1;
int count = rootView.getChildCount();
for (int i = 0; i < count; i++) {
View view = rootView.getChildAt(i);
if (view instanceof EditText) {
viewValue = ((EditText) view).getText().toString();
Log.v("Value:: ", i + " " + viewValue);
} else if (view instanceof Spinner) {
viewValue = ((Spinner) view).getSelectedItem()
.toString();
Log.v("Value:: ", i + " " + viewValue);
}
}
获取值后,您可以将其放在列表或任何您想要使用的位置。