Android:在运行时创建EditText

我正在尝试创建一个视图,用户可以单击“加号”按钮,并创建其他EditTexts。 目标是有2个EditTexts的基础,每次用户单击该按钮时,添加另外2个EditTexts。

我怎样才能做到这一点? 我可以从Java添加EditTexts,但我无法弄清楚如何动态添加和处理它们的列表。

我希望采用多对EditTexts,并将其推入键/值HashMap或其他东西。

有关如何做到这一点的任何想法? 谢谢!

public class MyActivity extends Activity { private LinearLayout main; private int id = 0; private List editTexts = new ArrayList(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); main = new LinearLayout(this); main.setOrientation(LinearLayout.VERTICAL); Button addButton = new Button(this); addButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { addEditText(); } }); Button submit = new Button(this); submit.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { for (EditText editText : editTexts) { editText.getText().toString(); // whatever u want to do with the strings } } }); main.addView(addButton); main.addView(submit); setContentView(main); } private void addEditText() { LinearLayout editTextLayout = new LinearLayout(this); editTextLayout.setOrientation(LinearLayout.VERTICAL); main.addView(editTextLayout); EditText editText1 = new EditText(this); editText1.setId(id++); editTextLayout.addView(editText1); editTexts.add(editText1); EditText editText2 = new EditText(this); editText2.setId(id++); editTextLayout.addView(editText2); editTexts.add(editText2); } 

在ListView中执行此操作。 然后你可以将它们添加到ListAdapter。

然后使用adapter.notifyDatasetChanged()

可能我不清楚但是,您可以使用任何标志值添加动态名称转换,而不是添加单个编辑文本,您可以像线性布局一样添加为组视图。

该视图可以更新到列表视图中,就像在列表视图中膨胀行一样….