Android:如何获取Dynamic EditText值

时间:2014-10-31 05:26:53

标签: android android-edittext

在我的应用程序中,我正在动态创建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);
}

1 个答案:

答案 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);
                }
    }

获取值后,您可以将其放在列表或任何您想要使用的位置。