вывести на экран нужное количество edit text

Интерфейс, диалоги, темы, стили, меню
Ответить
zhuzhik
Сообщения: 6
Зарегистрирован: 20 авг 2013, 01:20

вывести на экран нужное количество edit text

Сообщение zhuzhik » 30 авг 2013, 16:48

Здравствуйте! Есть такая необходимость, вывести на экран столько полей ввода текста, сколько задаст пользователь (от 1 до 20). Поясню: в одной активити пользователь вводит цифру, а затем открывается другая активити, в которой должно быть столько edittext-ов, какую цифру ввел пользователь. Подскажите пожалуйста как это можно сделать.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: вывести на экран нужное количество edit text

Сообщение anber » 30 авг 2013, 16:51

1. запоминаешь сколько полей ввел пользователь
2. передаешь это числа на activity №2
3. выводишь нужное количество edit text

В чем конкретно проблема?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

zhuzhik
Сообщения: 6
Зарегистрирован: 20 авг 2013, 01:20

Re: вывести на экран нужное количество edit text

Сообщение zhuzhik » 30 авг 2013, 17:06

Проблема именно с пунктом 3. Заранее извиняюсь если вопрос глупый, не знаю как можно вывести нужное количество edit text. То бишь не знаю какая функция может вывести на экране новый edit text, умею их только статично в layout задавать.

zhuzhik
Сообщения: 6
Зарегистрирован: 20 авг 2013, 01:20

Re: вывести на экран нужное количество edit text

Сообщение zhuzhik » 02 сен 2013, 03:02

Нашел решение этого вопроса, которое подходит для меня. Т.к. ограниченное количество эдиттекстов, я просто создаю 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);

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: вывести на экран нужное количество edit text

Сообщение antonbright » 02 сен 2013, 07:52

ну есть linearlayout на экране ты его находиш через findviewbyid затем программно добавляеш editview и через params даешь его параметры
(как когда ты редактируеш свой layout есть параметры wrap_content match parent и тп) а затем применяеш параметры на твой программно созданый текст вью и непосредственно создаешь его коммандой linearLayout.addView(editTextView);

Если не понятно почитай уроки с 16 по 18

Ответить