Android - как накачать представление несколькими полями EditText и прочитать их значения? - PullRequest
1 голос
/ 21 декабря 2010

Для моего приложения Android я хочу иметь представление, которое позволяет пользователю нажимать кнопку «плюс» для добавления полей EditText, а рядом с полями EditText я хочу иметь кнопки «минус», которые будут удалять их из представления. По сути, это то, что очень похоже на добавление нескольких телефонных номеров / адресов электронной почты в интерфейс редактирования контактов в Android.

Я полагаю, что мне нужно будет сделать это, надувая мой основной вид отдельным, который содержит EditText и кнопку, которую я хочу добавлять каждый раз. Однако я понятия не имею, как мне удастся идентифицировать каждый EditText и кнопку с уникальным идентификатором, и, таким образом, я не знаю, как мне удастся получить значения каждого EditText для сохранения в моей базе данных. Может кто-нибудь посоветовать мне, что мне нужно делать? Спасибо.

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Если вы надули вложенный макет, то теперь у вас должен быть объект View.

Затем вы можете позвонить findViewById(R.id.edit_text_1) на этот View & mdash; при условии, что вы указали идентификаторы в под-макете XML.

Пока вы отслеживаете каждого из родительских View s, вы всегда можете использовать findViewById() для них. Или после инфляции, если вы действительно хотите, вы можете установить новый, глобально уникальный идентификатор для каждого EditText, используя setId().

0 голосов
/ 21 декабря 2010

Вы можете динамически назначать виджет и генерировать свой собственный идентификатор, когда он назначен.

Button b = new Button(this);
b.setId(myId);

Затем вы можете вернуться к этому виджету.

findViewById(myId);
...