Страница 1 из 1
создание "смешанного" списка, комбинация простого и expandab
Добавлено: 19 июл 2013, 00:12
Idol
как правильно организовать список, в котором могут быть включения с вложенным списком?
Проще наверно на примере:
есть список содержащий: Имя и Время
но часть этих пар объединены в группы (скажем, дневная группа), т.е. надо показать Имя_Группы и затем уже элементы этой группы.
Однако, не все элементы имеют какую-либо группу.
И группа должна быть раскрывающийся (expendable).
Имя Время
Имя Время
Имя_Группы
------ Имя Время
------ Имя Время
Имя Время
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 00:20
Foenix
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 01:06
Idol
Foenix писал(а):по этому делу есть урок 45
Наверно я не совсем ясно написал вопрос.
Expandable список не позволяет создать, то что я хочу, т.к. не каждый child имеет группу.
Я не вижу пути, запихнуть child в список минуя включение в группу. Если вы знаете как, подскажите.
Пока на ум приходит, давать фейк группу для одиночных элементов (child) и задавать высоту такой группы =0, чтобы скрыть ее. Хотя пока не уверен, если это возможно.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 01:11
Idol
нашел кое-что
здесь, однако это не подходит для моего случая. Слишком много не нужных Названий групп для отображения будет.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 01:12
Foenix
я не использовала это дерево, но мне кажется, если ветке не добавлять детей, то это будет просто строка списка.
child - да, должен иметь родителя, а что тебе мешает сделать родителя без детей?
чайлда без родителя я с трудом себе представляю на экране.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 01:32
Idol
Foenix писал(а):
Не понял.
Существует список (в примере это Имя и Время), где часть пар объединены в группу.
Как Вы себе представляете часть child списка на одном уровне (group), а часть на другом (child)?
Думаете будет работать? или я не уловил вашей мысли?
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 02:10
Foenix
а, блин, поняла
ну загугли ExpandableListView with empty group
вот что нашла, там пример есть.
http://mylifewithandroid.blogspot.ru/20 ... roups.html
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 02:56
Idol
повидимому Вы все таки не доконца уловили идею. Почитайте мою ссылку в предыдущих постах (там короткий блог).
Подобное не так то просто реализовать (если вообще возможно), поэтому я и попробовал просто скрыть группы с одиночными элементами, но и здесь засада. Не могу найти пути назначить высоту элемента программно, даже в кастомном адаптере.
Может натолкнете на путь истинный? Гугл ничего не дал.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 03:10
Foenix
Idol писал(а):повидимому Вы все таки не доконца уловили идею. Почитайте мою ссылку в предыдущих постах (там короткий блог).
Подобное не так то просто реализовать (если вообще возможно), поэтому я и попробовал просто скрыть группы с одиночными элементами, но и здесь засада. Не могу найти пути назначить высоту элемента программно, даже в кастомном адаптере.
Может натолкнете на путь истинный? Гугл ничего не дал.
Я честно говоря не знаю как быстренько тебе помочь. Тут на форуме обсуждалось несколько раз еще более общий случай - целое дерево - с любым количеством веток и подветок. Я его тоже реализовывала в своей программе. Просто я к тому, что твои слова "если вообще возможно" - тут я точно могу сказать - конечно возможно. Просто на твой случай, по-моему, можно найти совсем какое-то простое решение.
http://code.google.com/p/tree-view-list ... %2Fpolidea
(обсуждение было в ветке по 45-му уроку, кажется)
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 03:13
Foenix
и не вижу сложности адаптировать список по предложенной тобой ссылке, если он тебе подходит. Если ты читал урок по кастомному адаптеру к списку, то знаешь, что это всего лишь лэйаут строки списка упростить -вот и не будет лишних тебе там строк, подробностей и т.д.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 05:54
Idol
Foenix писал(а): Тут на форуме обсуждалось несколько раз еще более общий случай - целое дерево - с любым количеством веток и подветок.
У меня суть не в количестве уровней дерева и их наполнености, как здесь к примеру:
Код: Выделить всё
--start--
Item1
Item2
Item3
subitem1
subitem2
subitem3
Item4
Item5
subitem1
subitem2
subitem3
--end--
У меня листва без дерева:
Код: Выделить всё
--start--
subitem1
subitem2
subitem3
Item1
subitem4
subitem5
subitem6
subitem7
subitem8
Item2
subitem9
subitem10
subitem11
--end--
Т.е. существует список данных (subitems) и у части этих данных есть какой-то общий признак. Вот этот признак и выводится впереди всей группы (как Item). Плюс к этому, эта группа должна сворачиваться/разворачиваться.
т.е. здесь не классический структура группа-подгруппа. Однако, лучшего представления информации, чем список-дерево я не вижу.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 06:03
Idol
Foenix писал(а):и не вижу сложности адаптировать список по предложенной тобой ссылке, если он тебе подходит. Если ты читал урок по кастомному адаптеру к списку, то знаешь, что это всего лишь лэйаут строки списка упростить -вот и не будет лишних тебе там строк, подробностей и т.д.
Как я описал постом выше, хоть список-дерево и не красивое решение, но другого пока нет.
Пытаюсь создавая фейк группы, потом их прятать при отображении.
Следующий метод сработал, но с ограничениями. Не принимает параметра = 0.
Код: Выделить всё
LayoutParams param = paramView.getLayoutParams();
param.height = 1;
paramView.setLayoutParams(param);
Это часть кода из кастомного CursorAdapter под bindView.
Может есть какой другой способ задать нулевую величину высоты View?
PS
думал, что будет работать:
, но нет, текст исчезает, а место под элемент списка (View) остается. Однако похоже, что я просто не разобрался, как это работает. По идеи должно исчезать все.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 19 июл 2013, 12:27
Foenix
у тебя вообще тогда не дерево, а просто список с подзаголовками. Такое и в samples андроида есть, просмотри там примеры со списками.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 22 июл 2013, 00:49
Idol
Foenix писал(а):у тебя вообще тогда не дерево, а просто список с подзаголовками. Такое и в samples андроида есть, просмотри там примеры со списками.
Вы правы, за одним маленьким исключением. Список с подзаголовками не сворачивается, а хотелось бы.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 22 июл 2013, 00:55
Foenix
да делай просто дерево, какая разница ветки это у тебя или листья. Разница лишь в том, что одни разворачиваются другие нет.
Re: создание "смешанного" списка, комбинация простого и expa
Добавлено: 22 июл 2013, 01:26
Idol
Foenix писал(а):да делай просто дерево, какая разница ветки это у тебя или листья. Разница лишь в том, что одни разворачиваются другие нет.
Разница громадная, листья идут то на одном уровне, то на другом. И это не позволяет использовать Expandable прям как есть.
Подскажите, что нужно подкрутить в следующей конструкции, чтобы исчезал весь элемент.
Код: Выделить всё
public void bindView(View paramView, Context paramContext, Cursor paramCursor){
TextView list_item_name = (TextView)paramView.findViewById(android.R.id.text1);
list_item_name.setText(paramCursor.getString(paramCursor.getColumnIndex(setColumns.SET_NAME)));
TextView list_item_time = (TextView)paramView.findViewById(android.R.id.text2);
paramView.setVisibility(paramView.GONE);}