如何从编程创建的EditTexts中获取值?

时间:2017-12-22 03:18:48

标签: android

我想从第一个活动到第二个活动发送一些整数。该数字实际上是我想要创建的edittexts的数量。

for (int i = 0; i < num_from_first_activity; i++) {
        EditText editText = new EditText(getApplicationContext());
        final LinearLayout ll = findViewById(R.id.llid);
        ll.addView(editText);
}

在我用这些数据填充这些字段之后。当我点击按钮时如何从中获取值?

2 个答案:

答案 0 :(得分:1)

1.在你的循环中,你不需要拨打struct initializer { constexpr unsigned operator()(double) const { return 0; } constexpr unsigned operator()(S) const { return 1; } };

2.使用ll = findViewById(R.id.layout_actual_effect);作为全局变量,您可以在其他地方使用它

3.使用LinearLayout获取视图,并使用ll.getChildAt(position)获取值

4.在致电editText.getText().toString()

之前致电createEditText

试试这个。

getValue

答案 1 :(得分:0)

你必须循环使用你添加的LinearLayout,但现在你选择了值:

LinearLayout ll = findViewById(R.id.llid);
for(int i=0; i<num_from_first_activity; i++) {
    EditText editText = (EditText) ll.getChildAt(i);

}

所以你可以看到你循环,所以你可以为它创建一个方法来获得正确的项目,记住将它投射到EditText当且仅当你知道它们是EditText时这样:

private String getTextAtEditTextIndex(int index){
    LinearLayout ll = findViewById(R.id.llid);
    EditText editText = (EditText) ll.getChildAt(i);
    return editText.getText().toString();    
}

此方法将从特定索引的String中的editText返回EditText