如何从动态创建的EditText中获取值?

时间:2013-01-11 10:44:23

标签: android android-edittext

这里我通过单击按钮动态创建了EdiIexts,如何从这些EditTexts中获取值?我见过很多例子,但我无法获得价值!

 final LinearLayout ll=new LinearLayout(this);
 ll.setOrientation(LinearLayout.VERTICAL);
 Button add_btn=new Button(this);
 add_btn.setText("Click to add TextViiews and EditTexts");
 ll.addView(add_btn);     

 add_btn.setOnClickListener(new OnClickListener() {     
     public void onClick(View v) {

         EditText et=new EditText(getApplicationContext());

         ll.addView(et);

4 个答案:

答案 0 :(得分:2)

您可以像使用.xml文件的edittext一样获得动态创建的edittext的值。

String value;
add_btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                value = et.getText().toString();
            }
        });

答案 1 :(得分:2)

将此代码添加到您想要获取edittext的值

的位置
 EditText et2=(EditText)ll.getChildAt(l1.getChildCount()); //make sure to create new edittext variable do not use "et"
 String s=et2.getText().toString();

答案 2 :(得分:1)

为您的活动声明EditText et类级别成员变量

private EditText et = null;

现在,在Button的onClick

add_btn.setOnClickListener(new OnClickListener() {     
 public void onClick(View v) {
     et = new EditText(getApplicationContext());
     ll.addView(et);

现在,您可以使用

获取活动范围内任意位置的EditText et
if(et != null)
String value = et.getText().toString();

答案 3 :(得分:0)

试试这个,

LinearLayout linearLayoutForm = (LinearLayout) activity.findViewById(R.id.linearLayoutForm);
EditText edit = (EditText) linearLayoutForm.findViewById(id);
String value = edit.getText().toString();