我想从第一个活动到第二个活动发送一些整数。该数字实际上是我想要创建的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);
}
在我用这些数据填充这些字段之后。当我点击按钮时如何从中获取值?
答案 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
。