如何获取EditText ID

时间:2013-01-02 21:04:18

标签: android android-edittext

我使用循环添加了一些EditTexts,

textFieldsLayout =(LinearLayout)findViewById(R.id.LinearLayout2);

    for(int i=1; i <= 8; i++){

        final EditText ed = new EditText(this);

        ed.setText("" + i);

        ed.setInputType(2);

        ed.setLayoutParams(lparams);

        textFieldsLayout.addView(ed);
    }   
}

在此之后,我想获取用户添加到EditText字段中的文本,但我仍然坚持如何执行此操作。我如何获得每个EditText字段的ID?

谢谢,Oli

2 个答案:

答案 0 :(得分:1)

只需在创建它们时将它们添加到集合中,您可以通过索引或键或循环或其他方式轻松引用它们。

EditText[] etCollection = new EditText[8];

..........

    textFieldsLayout = (LinearLayout) findViewById(R.id.LinearLayout2);
    for(int i=1; i <= 8; i++){
        final EditText ed = new EditText(this);
        ed.setText("" + i);
        ed.setInputType(2);
        ed.setLayoutParams(lparams);
        textFieldsLayout.addView(ed);
        etCollection[i] = ed; <------ adding them to the collection
    }   
}

答案 1 :(得分:0)

您必须对自己创建的每个人ed.setId( id );执行idEditText ed = (EditText)findViewById( id ); 对于您要查找的每个人都应该是唯一的。当你去寻找一个

{{1}}

你必须在某个地方跟踪你的ids。

或者,您可以保留您创建的EditTexts列表并通过列表运行以获取每个文本。