С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
1

Динамическое создание View

23.03.2017, 16:13. Просмотров 574. Ответов 17
Метки нет (Все метки)

Есть шаблон:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
 
    <EditText
        style="@style/Widget.AppCompat.EditText"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:width="100dp"
        android:inputType="number"
        android:maxLength="9"
        android:textAlignment="center"
        android:textColor="@android:color/black"
        android:textSize="20sp" />
 
    <EditText
        android:id="@+id/editText"
        style="@style/Widget.AppCompat.EditText"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:inputType="textCapSentences"
        android:textColor="@android:color/black"
        android:textSize="20sp" />
</LinearLayout>
Вот так его добавляю в главное Activity:
Java
1
2
LinearLayout item = (LinearLayout) getLayoutInflater().inflate(R.layout.item_layout, null);
        LayoutOfScroll.addView(item);
Главный вопрос: Как получить доступ к каждому вновь созданному EditText-у из этого шаблона (именно тому EditText-у, что будет появляться в левом столбике)(на картинке обозначен) чтоб добавлять его в массив?
0
Миниатюры
Динамическое создание View  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2017, 16:13
Ответы с готовыми решениями:

Создание view элементов в отдельном потоке
Беру данные из интернета и делаю блоки. Если информации довольно много то при...

Создание View элементов из кода и размещение их в listview
Здравствуйте, задача такая: 1) Есть массив строк. Программа читает поочереди...

В чем разница (View view) и (View v)
Я только начинаю изучать программирование под андроид (до этого вобще...

Динамическое создание объекта
Всем привет! Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, кто...

Динамическое создание интерфейса
Уважаемые форумчане, не подскажите как можно реализовать создание интерфейса в...

17
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,707
23.03.2017, 16:20 2
Выдай ему id и обращайся view.findViewById().
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 16:39  [ТС] 3
Если я в шаблоне укажу Id этому view, то все остальные динамически-созданные будут иметь такой же Id.
Такой вариант не подходит.
0
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,707
23.03.2017, 16:49 4
При создании можно указать tag уникальный.
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 16:54  [ТС] 5
Можно пример кода?
0
Pablito
2769 / 2199 / 745
Регистрация: 12.05.2014
Сообщений: 7,722
Завершенные тесты: 1
23.03.2017, 16:54 6
чем не устраивает обычный RecyclerView или ListView?
примеров вагон в инете
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 16:59  [ТС] 7
В каком плане не устраивает? Понятнее объясняетесь пожалуйста
0
Pablito
2769 / 2199 / 745
Регистрация: 12.05.2014
Сообщений: 7,722
Завершенные тесты: 1
23.03.2017, 17:01 8
из названия лаяута LayoutOfScroll я делаю вывод, что ты пытаешься изобрести список каких-то вьюшек, который можно прокручивать

для этой цели есть готовые классы о которых я выше написал
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 17:06  [ТС] 9
Ну вы правы, только суть проблемы то не в этом Я не знаю как обратиться к днамически-созданным элементам.
Есть шаблон: LinarLayout и в нем EditText(числовой) и EditText(текстовый) (картинка все показывает).
По нажатию кнопки на Activity, я добавляю этот шаблон в ваш ListView, к примеру. Но как мне теперь из каждого EditText(числовой) вытащить данные?
0
Pablito
2769 / 2199 / 745
Регистрация: 12.05.2014
Сообщений: 7,722
Завершенные тесты: 1
23.03.2017, 17:23 10
Список с двумя полями
читать до просветления
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 17:56  [ТС] 11
Не мой случай.
0
Pablito
2769 / 2199 / 745
Регистрация: 12.05.2014
Сообщений: 7,722
Завершенные тесты: 1
23.03.2017, 18:00 12
там показан ПРИНЦИП как сделать динамический список с EditText-ами из которых можно брать данные
из тему удаляюсь, похоже случай тяжелый
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 18:55  [ТС] 13
Да на здоровье индюк напыщенный. Такие надменные советы в одно место себе засунь.

Добавлено через 33 секунды
Может кому пригодится.
Решил проблему таким образом:
Java
1
2
3
4
5
LinearLayout item = (LinearLayout) getLayoutInflater().inflate(R.layout.price_and_name, null);  //Создаю строку "цена+наименование" из XML-шаблона "price_and_name"
        LayoutOfScroll.addView(item);                       //Добавляю созданную строчку "цена+наименование" в LayoutOfScroll
        EditText edPrice = (EditText) item.getChildAt(0);   //Получаю доступ к каждому EditText-у стоимости
        edPrice.addTextChangedListener(this);               //Устанавливаю обработчик изменения текста каждому EditText-у стоимости
        masOfEditSumma.add(edPrice);                        //Добавляю каждый новый EditText в массив
0
Kir-malishev
71 / 71 / 57
Регистрация: 07.08.2016
Сообщений: 173
23.03.2017, 20:21 14
Перед добавлением в массив можно задать id для View, равный размеру массива:
Java
1
edPrice.setId(masOfEditSumma.size());
Тогда в слушателях будет удобно обращаться к View из массива, т.к. его индекс будет равен id элемента.
0
ExFau$t
638 / 538 / 122
Регистрация: 08.05.2012
Сообщений: 2,707
23.03.2017, 20:27 15
Сувать в id что попало не самый удачный совет. Для чего попало есть setTag().
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
24.03.2017, 03:44  [ТС] 16
Большое спасибо ребят, но проблема уже решена
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 308
24.03.2017, 09:57 17
Цитата Сообщение от Nakiii Посмотреть сообщение
Может кому пригодится.
Если не секрет, сколько строк вы добавляете в ваш псевдосписок?
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
24.03.2017, 20:21  [ТС] 18
По желанию пользователя
0
24.03.2017, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2017, 20:21

Динамическое создание кнопки
Добрый день, подскажите пожалуйста как программно можно создать кнопку или...

Динамическое создание интерфейса
Здравствуйте уважаемые. Помогите справиться с задачей. Хочу динамически...

Динамическое создание кнопки
Добрый день, искал и перебровывал много способов, но не один не помог( Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru