Страница 1 из 1
вывести на экран нужное количество edit text
Добавлено: 30 авг 2013, 16:48
zhuzhik
Здравствуйте! Есть такая необходимость, вывести на экран столько полей ввода текста, сколько задаст пользователь (от 1 до 20). Поясню: в одной активити пользователь вводит цифру, а затем открывается другая активити, в которой должно быть столько edittext-ов, какую цифру ввел пользователь. Подскажите пожалуйста как это можно сделать.
Re: вывести на экран нужное количество edit text
Добавлено: 30 авг 2013, 16:51
anber
1. запоминаешь сколько полей ввел пользователь
2. передаешь это числа на activity №2
3. выводишь нужное количество edit text
В чем конкретно проблема?
Re: вывести на экран нужное количество edit text
Добавлено: 30 авг 2013, 17:06
zhuzhik
Проблема именно с пунктом 3. Заранее извиняюсь если вопрос глупый, не знаю как можно вывести нужное количество edit text. То бишь не знаю какая функция может вывести на экране новый edit text, умею их только статично в layout задавать.
Re: вывести на экран нужное количество edit text
Добавлено: 02 сен 2013, 03:02
zhuzhik
Нашел решение этого вопроса, которое подходит для меня. Т.к. ограниченное количество эдиттекстов, я просто создаю activity c нужным количеством edit text и задаю у них всех параметр android:visibility="gone". А затем, в зависимости от того сколько мне надо их отобразить, задаю нужному количеству:
Код: Выделить всё
EditText ed = (EditText) findViewById(R.id.your_edit_text);
ed.setVisibility(View.VISIBLE);
Именно для моего случая этот метод подошел отлично. Также на stackowerflow я получил еще один метод решения своего вопроса, но только он был дан без комментария, и я, в силу неопытности, не понял как этот метод работает. Буду очень признателен если кто-либо объяснит как работает этот код:
Код: Выделить всё
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ur_layout);
EditText editTextView = new EditText(this);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1);
editTextView.setLayoutParams(params);
linearLayout.addView(editTextView);
Re: вывести на экран нужное количество edit text
Добавлено: 02 сен 2013, 07:52
antonbright
ну есть linearlayout на экране ты его находиш через findviewbyid затем программно добавляеш editview и через params даешь его параметры
(как когда ты редактируеш свой layout есть параметры wrap_content match parent и тп) а затем применяеш параметры на твой программно созданый текст вью и непосредственно создаешь его коммандой linearLayout.addView(editTextView);
Если не понятно почитай уроки с 16 по 18