在我的应用程序中,我有一个tableLayout,里面有很多editTexts。当我单击“保存”按钮时,我想访问在editTexts中输入的所有值。我在创建表时在运行时分配了ID。现在,当点击“保存”按钮时,如何从editTexts访问值?我使用了类似下面的东西来分配ID,
for(int i=0;i< no_of_rows ;i++)
for(int j=0;j<5;j++)
{
...............
assignment.setId(i+j);
.............
}
有人可以建议解决方案..?
答案 0 :(得分:0)
如下:
ArrayList<String> strings = new ArrayList<String>();
for(int i=0;i< no_of_rows ;i++)
for(int j=0;j<5;j++)
{
EditText text = (EditText)ActivityName.this.findViewById(i+j);
strings.add(text.getText().toString());
}
}
这将为您提供一个大数组中所有文本的所有值。如果这不是您想要的,请告诉我,我会看看是否可以调整代码。
答案 1 :(得分:0)
其他不错的解决方案是遍历某些布局的所有子项,因此您无需设置任何特殊ID。试试吧:
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
child_count = layout.getChildCount();
for (int i=0; i<child_count; i++)
{
EditText text = (EditText) layout.getChildAt(i);
// do work with text
}
使用其他一些代码,您可以对任何其他布局层次结构执行此操作。