我正在拆分字符串并使用循环将结果放在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
}
});
我该怎么做?谢谢。
注意:强调使用单个按钮来获取所有数据,我设法做每个时候添加新保存按钮的场景 循环运行,但它不整洁。
答案 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();
}
});