3

ユーザーが「プラス」ボタンをクリックして、追加のEditTextを作成できるビューを作成しようとしています。目標は、2つのEditTextをベースにすることであり、ユーザーがボタンをクリックするたびに、さらに2つのEditTextを追加します。

これどうやってするの?JavaからEditTextsを追加することはできますが、それらのリストを動的に追加して処理する方法がわかりません。

EditTextのペアをいくつでも取得し、それをキー/値のHashMapなどにプッシュしたいと思っていました。

これを行う方法のアイデアはありますか?ありがとう!

4

3 に答える 3

4
public class MyActivity extends Activity {

private LinearLayout main;
private int id = 0;
private List<EditText> editTexts = new ArrayList<EditText>();

@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);

}
于 2012-07-16T19:23:38.453 に答える
3

ListViewでそれを行います。次に、それらをListAdapterに追加するだけです。

そして、adapter.notifyDatasetChanged()

于 2012-07-16T19:05:33.513 に答える
0

May be I am not clear but Instead of adding Individual edit text you can add as Group View like Linear layout here you can use any flag values to add dynamic name conversions also.

That view you can update into List View like inflating rows in the List View....

于 2012-07-19T10:12:03.043 に答える