-1

我使用循环添加了一些 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?

谢谢,奥利

4

2 回答 2

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
    }   
}
于 2013-01-02T21:32:37.403 回答
0

您必须对ed.setId( id );您创建的每一个进行处理,并且id对于您想要找到的每一个都应该是独一无二的。当你去找一个做

EditText ed = (EditText)findViewById( id );

您必须在某处跟踪您的身份。

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

于 2013-01-02T21:06:52.930 回答