Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 85
#1

Создание блока Лэйаутов со своей структурой из кода - Программирование Android

21.08.2013, 17:06. Просмотров 1387. Ответов 22
Метки нет (Все метки)

Здравствуйте. В общем такая задача:
Есть блок состоящий из LinearLayout, текстового поля и еще одного Linearlayout. В каждом LinearLayout свои эллементы. В общем структура не важна. Есть LinearLayout содержащий некую структуру. Из xml файла берутся данные, в зависимости от которых должно быть построенно определенное количество таких блоков с Лэйаутами и заполненно данными из xml-файла(каждый блок своими данными). Создавать всю эту структуру программно(из кода) очень сложно(нужно создать Лэйаут с параметрами, потом создать следующий лэйаут со своими параметрами и своими эллементами, указав родительский объект ранее созданный лэйаут). Получится очень сложно и громоздко в коде. Мне решение видится в создании какого-нибудь шаблона, где прописана структура эллементов и их параметры. В зависимости от данных из xml-файла создаем нужное количество блоков из такого шаблона, и заполняем их данными.
Вопрос в том, как реализовать такой шаблон?
Может светлые умы что подскажут?
ЗЫ: Фрагменты не предлагать, реализовать нужно для андроид 2.3. Фрагменты только с 3 Андроида.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание блока Лэйаутов со своей структурой из кода (Программирование Android):

Создание своей собственной прокрутки для блока - JavaScript
Всем привет. Вот периодически натыкаюсь на сайтах на различные колонки новостей у которых имеется ограниченная высота но для которых есть...

Создание модели со сложной структурой - C# MVC
Добрый вечер. Сегодня столкнулся с такой проблемой, при создании метода добавления для модели со связью многие ко многим получаю ошибку,...

Внедрение кода своей DLL в процесс - Delphi
Есть DLL сл. содержания: var form: TForm1; begin form := TForm1.Create(nil); form.Show(); ShowMessage('test!'); ...

Создание моделей в Django с json подобной структурой - Python
Имеется django модель, описывающая заведение. Необходимо определить поле, которое будет хранить время открытия и закрытия заведения на...

Создание динамического массива в соответствии со структурой файла - C++
Добрый день. Помогите написать программу, она должна открыть файл, посчитать сколько там строк, сколько символом в каждой строке, и создать...

Возврат кода ошибки из своей функции, возможно ли - C#
Доброго времени суток. Пишу функцию, которая возвращает строку. Как быть с кодом возврата, если возникнет ошибка. Я могу код ошибки...

22
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.08.2013, 20:20 #16
можете выложить проект?
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 85
25.08.2013, 20:56  [ТС] #17
Кода из активити недостаточно будет? 0_о
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.08.2013, 21:07 #18
неа, но можете вдобавок и его отдельно скопировать.
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 85
26.08.2013, 12:54  [ТС] #19
Нашел в одном уроке по андроиду:
Обратите внимание - третий параметр inflate мы указал и false. Т.е. мы не стали сразу добавлять создаваемый View-элемент к linLayout, а делаем это в конце кода методом addView. Этому есть объяснение. Если бы мы указал и true -то метод добавил бы item к linLayout и вернул бы нам linLayout, общий для всех пунктов списка. Через linLayout заполнять TextView необходимым нам текстом было бы затруднительно. Поэтому мы получаем пункт
item ( FrameLayout) , заполняем его TextView данными и только потом помещаем к остальным пунктам в
linLayout методом addView.
Интересно почему затруднительно? Ктонибудь знает? Видимо поэтому у меня не заполняется данными так как надо. Может как то воспользоваться false и addView?

Добавлено через 2 минуты
V0v1k, Код проблемного активити я отправил в ЛС.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.08.2013, 16:01 #20
нужен весь проект.

Добавлено через 2 часа 22 минуты
первый косяк
Java
1
2
3
4
5
6
7
8
9
10
11
for (int i=0; i < sub_q; ++i) {
               Integer x = 0;
               if (x==0) {
                            x=x+1;
                                      ...
              }
              if (x==1) {
                            x=x+1;
                                       ...
            }
}
здесь всегда будут оба if'а выполняться при каждой итерации. зачем вы "x" добавили? вам "i" мало?

я бы это сделал через ListView.

Добавлено через 7 минут
и да, в уроке правильно подмечено, делайте так
Java
1
2
View block_skill = inflater.inflate(R.layout.sub, ll_sub_1, false);
ll_sub_1.addView(block_skill);
а вообще лучше ListView использовать.

Добавлено через 15 минут
и в активити Second тоже ListView используйте.
1
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 85
26.08.2013, 17:55  [ТС] #21
А, х - это я последний раз крутил-вертел по всякому(наверное уже от безысходности) и забыл вернуть как было перед отправкой. Там i и стояло. Так что первый косяк не смотрим. С ListView что то дружбы у меня не получилось. Реализовал так. Пусть так и будет. Строит порядок из кнопок как надо.
Зачем нужен был весь проект ? 0_о К тому и пришли, что косяк с инфлэйтером.
Благодарю за помощь. Вечером попробую через false сделать.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.08.2013, 18:49 #22
Цитата Сообщение от Termit___ Посмотреть сообщение
Зачем нужен был весь проект ?
ну, без проекта не запустить, и не посмотреть, и не подебагать...
1
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 85
26.08.2013, 19:15  [ТС] #23
Е-е-е!! Работает!! Спасибо тебе Вовик. Ты хороший человек =))
0
26.08.2013, 19:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2013, 19:15
Привет! Вот еще темы с ответами:

Создание формы для ввода данных с иерархичной структурой - MS Access
Есть база данных с созданной иерархичной структурой к сожалению мне не удается создать форму которая позволила бы вносить все...

После окончания работы со структурой, она будет почищена сборщиком. Что произойдет со структурой в неуправляемой памяти - C#
Доброго времени суток. Прочитал закрепленный топик &quot;Класс Marshal, использование PInvoke, небезопасный код (unsafe)&quot;. Возник вопрос,...

Создание базы данных SQL. Управление данными и структурой таблиц - Visual Basic .NET
Здравствуйте добрые люди)) Моя программа работает с БД MSAccess мне сказали чтоб база должна быть в SQL ибо как они сказали так она...

Создание кода программы с нуля!! создание кода C++ - C++
ВОТ УСЛОВИЕ : Для данного вещественного x,a,b,c найти значение следующей функции f,принимающей вещественное задания: ...


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

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

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