如何从android中的多个edittext获取文本

时间:2014-12-01 16:11:48

标签: java android android-edittext

在我的应用程序中,我在按钮点击动态创建多个editTexts,如下所示:

            @Override
            public void onClick(View v) 
            {
                 EditText et= new EditText(MainActivity.this);
                 et.setInputType(InputType.TYPE_CLASS_TEXT);
                 ll.addView(et);// ll is Linear Layout.
            }

现在我想从单个String中的Button上创建的所有edittext中获取文本。我不知道该怎么做。有人请帮助我。

3 个答案:

答案 0 :(得分:2)

在父类中使用容器:

List<EditText> edits = new ArrayList<EditText>();
...
@Override
public void onClick(View v) 
{
   EditText et= new EditText(MainActivity.this);
   et.setInputType(InputType.TYPE_CLASS_TEXT);
   ll.addView(et);// ll is Linear Layout.
   edits.add(et);
}

然后迭代该列表以获取文本。

答案 1 :(得分:1)

这样的事可以帮到你:

    String assembledString = "";
    View tempView;
    for(int i = 0; i < ll.getChildCount(); i++){
        tempView = ll.getChildAt(i);
        if(tempView instanceof EditText){
            assembledString += ((EditText) tempView).getText().toString();
        }
    }

基本上假设ll是某种类型(Frame,Linear,Relative)的布局,你可以使用getChildCount()。这允许您循环遍历所有孩子。然后它只是一个获取视图并检查其EditText的情况。如果是这样,那么你可以抓住字符串并随意做任何事情。

祝你好运。

答案 2 :(得分:1)

循环遍历'LinearLayout'的孩子并让他们的文字做你想做的事

 String text = "";

for(int i =0;i<ll.getChildCount();i++)
{
  try
    {
         text += ((EditText)ll.getChildAt(i)).gettext().toString();
     }
  catch(Exception e)
  {
  }

}

这肯定会有效..