Для моего приложения Android я хочу иметь представление, которое позволяет пользователю щелкнуть кнопку плюс, чтобы добавить поля EditText, а рядом с полями EditText, я хочу иметь кнопки минус, которые удаляют их из представления. По сути, что-то, что очень похоже на добавление нескольких телефонных номеров/адресов электронной почты в интерфейс редактирования контактов на Android.
Я предполагаю, что мне нужно будет сделать это, раздувая мое основное представление отдельным, содержащим EditText и кнопку, которую я хочу добавлять каждый раз. Тем не менее, я понятия не имею, как мне удастся идентифицировать каждый EditText и кнопку с уникальным идентификатором, и поэтому я не знаю, как мне удастся захватить значения каждого EditText для сохранения в моей базе данных. Может ли кто-нибудь посоветовать мне, что мне нужно делать? Спасибо.
Если вы надули субмакет, тогда у вас должен быть объект View
.
Затем вы можете вызвать findViewById(R.id.edit_text_1)
на этом View
— предполагая, что вы предоставили идентификаторы в XML-подметке.
Пока вы отслеживаете каждый родительский View
s, вы всегда можете использовать findViewById()
для них. Или после инфляции, если вы действительно хотите, вы можете установить новый, глобально уникальный идентификатор на каждом EditText
, используя setId()
.
Вы можете назначить виджет вида динамически и создать свой собственный идентификатор, если он назначен.
Button b = new Button(this);
b.setId(myId);
Затем вы можете вернуться к этому виджету.
findViewById(myId);