Как обратиться к элементу EditText созданным программно
Краткая суть: пользователь нажимает на кнопку, добавляется новый EditText - и так до бесконечности. Установить ID к создаваемым EditText я смог, но теперь мне нужно считать данные из EditText и поместить их в массив. Основная проблема заключаются в том, что я не знаю, как обратиться к ID динамического объекта и считать введённый текст. Подскажите, что делать.
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams
(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.LEFT;
EditText editText = new EditText(this);
//count = 1
editText.setId(count);
// Проверка того, что ID создан и установка его в качестве текста
int s = editText.getId();
String name = String.valueOf(s);
editText.setText(name);
// Конец проверки
layout.addView(editText, layoutParams);
count++;
Код находится в OnClick.
Ответы (2 шт):
Автор решения: Руслан Ягупов
→ Ссылка
- Для генерации лучше использовать ViewCompat.generateViewId(), если сами будете генерить, можете поймать исключение.
- Проще всего сразу после генерации помещать их в список, потом фильтровать и тд. и т.п
Автор решения: Maks
→ Ссылка
Попробуйте каждый созданный Edittext записывать в массив EditText[ ] а потом обращаться через индекс your_array[0].gettext();
Если надо найти edittext с конкретными id можно пройтись циклом по масиву.