0

我正在拆分一个字符串并使用循环将结果放入edittexts中,以便用户可以编辑数据。之后他只需按下最后一个按钮即可将所有数据保存在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

        }
    });

我该怎么做?谢谢。

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

4

1 回答 1

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();

    }
});
于 2013-10-15T14:53:03.110 回答