0

在这里,我通过单击按钮动态创建了 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

4 回答 4

2

将此代码添加到要获取编辑文本值的位置

 EditText et2=(EditText)ll.getChildAt(l1.getChildCount()); //make sure to create new edittext variable do not use "et"
 String s=et2.getText().toString();
于 2013-01-11T10:48:13.200 回答
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();
            }
        });
于 2013-01-11T10:45:20.067 回答
1

Declare EditText et as a Class level Member variables for your Activity,

private EditText et = null;

Now, in Button's onClick

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

Now, you can get the EditText et values any where in your Activity scope, using

if(et != null)
String value = et.getText().toString();
于 2013-01-11T10:48:27.143 回答
0

尝试这个,

LinearLayout linearLayoutForm = (LinearLayout) activity.findViewById(R.id.linearLayoutForm);
EditText edit = (EditText) linearLayoutForm.findViewById(id);
String value = edit.getText().toString();
于 2016-10-13T11:40:52.730 回答