如何使用单个按钮从动态创建的editttexts获取Edittext值

时间:2013-10-15 14:38:37

标签: java android for-loop

我正在拆分字符串并使用循环将结果放在edittexts中,以便用户可以编辑数据。之后他可以保存所有数据 只需按下最后一个按钮即可进行编辑。问题是我不知道如何在按下保存按钮时从edittext中获取每个值。这是我的代码:

  EditText etstringone,etstringtwo; 
  Button btn_save;
  btnsave=new Button(this);

  String mystring="somevalue";
  String del="\\|";
  String[] splitResult = mystring.split(del); 

  for (String e : splitResult)
    {

     etstringone=new EditText(this);
     etstringtwo=new EditText(this);

    etstringone.setText(splitResult[0]);
    etstringtwo.setText(splitResult[1]);

    mylayout.addView(etstringone);
    mylayout.addView(etstringtwo);
    }
  mylayout.addView(btnsave);

  btnsave.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // how to get each value from the edittexts and output each to logcat,,i'll do the saving  and the rest

        }
    });

我该怎么做?谢谢。

注意:强调使用单个按钮来获取所有数据,我设法做每个时候添加新保存按钮的场景         循环运行,但它不整洁。

1 个答案:

答案 0 :(得分:0)

动态创建编辑文本,但您仍然可以访问该对象。要么缓存对编辑文本的引用,要么遍历“mylayout”的子视图。

修改

从您的代码中,您声明

EditText etstringone,etstringtwo;

您实例化它们

 etstringone=new EditText(this);
 etstringtwo=new EditText(this);

现在我不知道这个范围(他们是本地变量,类/成员变量?)如果是类变量,你可以在

中引用它们
btnsave.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // how to get each value from the edittexts and output each to logcat,,i'll do the saving  and the rest

    }
});

体。例如

btnsave.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        String e1 = etstringone..getText().toString();

    }
});