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

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

23.03.2017, 16:13. Просмотров 1228. Ответов 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  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2017, 16:13
Ответы с готовыми решениями:

Создание отдельного view для canvas
Здравствуйте, у меня такая задача: нужно в разметке(где у меня находятся всякие кнопки и текствью)...

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

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

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

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

17
ExFau$t
958 / 758 / 226
Регистрация: 08.05.2012
Сообщений: 3,615
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
958 / 758 / 226
Регистрация: 08.05.2012
Сообщений: 3,615
23.03.2017, 16:49 4
При создании можно указать tag уникальный.
0
23.03.2017, 16:49
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 16:54  [ТС] 5
Можно пример кода?
0
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 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
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 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
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
23.03.2017, 17:23 10
Список с двумя полями
читать до просветления
0
Nakiii
1 / 1 / 0
Регистрация: 15.11.2015
Сообщений: 88
23.03.2017, 17:56  [ТС] 11
Не мой случай.
0
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 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
958 / 758 / 226
Регистрация: 08.05.2012
Сообщений: 3,615
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
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 320
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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2017, 20:21

Динамическое создание ImageButton
В строках TableRow динамически создаю кнопки: TableRow tableRow = new TableRow(this); ......

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

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


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

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

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