как присвоить ListView несколько адапреров?

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
sh_rv
Сообщения: 18
Зарегистрирован: 11 сен 2013, 18:15

как присвоить ListView несколько адапреров?

Сообщение sh_rv » 23 окт 2013, 19:27

Необходимо, чтобы ListView читал данные сразу из двух (трёх, пяти..) адаптеров. Такое вообще возможно?

Код: Выделить всё

ListView.setAdapter(adapter_1);
ListView.setAdapter(adapter_2);
То есть необходимо заполнить строку ListView из разных источников.
Как это сделать?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: как присвоить ListView несколько адапреров?

Сообщение rezak90 » 23 окт 2013, 20:25

из разных адаптеров точно нельзя, создаётся один адаптер и компанируются данные, то есть тебе нужен один источник данных
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как присвоить ListView несколько адапреров?

Сообщение Foenix » 23 окт 2013, 21:20

sh_rv писал(а):Необходимо, чтобы ListView читал данные сразу из двух (трёх, пяти..) адаптеров. Такое вообще возможно?

Код: Выделить всё

ListView.setAdapter(adapter_1);
ListView.setAdapter(adapter_2);
То есть необходимо заполнить строку ListView из разных источников.
Как это сделать?
не из пяти адаптеров, а из пяти таблиц? тогда все просто.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

sh_rv
Сообщения: 18
Зарегистрирован: 11 сен 2013, 18:15

Re: как присвоить ListView несколько адапреров?

Сообщение sh_rv » 23 окт 2013, 22:22

Foenix писал(а):
sh_rv писал(а):Необходимо, чтобы ListView читал данные сразу из двух (трёх, пяти..) адаптеров. Такое вообще возможно?

Код: Выделить всё

ListView.setAdapter(adapter_1);
ListView.setAdapter(adapter_2);
То есть необходимо заполнить строку ListView из разных источников.
Как это сделать?
не из пяти адаптеров, а из пяти таблиц? тогда все просто.
Таблица одна. Скорее из двух массивов строк нужно записать в одну строку ListView.
У меня в строке ListView есть два TextView (своё оформление). В один TextView из таблицы нужно добавить, к примеру, дату, а в другой TextView всё остальное содержимое таблицы.
Вот я и делаю два адаптера, по применить их к одному ListView не могу.

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: как присвоить ListView несколько адапреров?

Сообщение trew » 23 окт 2013, 23:54

sh_rv
http://startandroid.ru/ru/uroki/vse-uro ... apter.html
Можешь ещё в интернете посмотреть: "android custom adapter"
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как присвоить ListView несколько адапреров?

Сообщение Foenix » 24 окт 2013, 00:28

все это нужно либо в одной коллекции, либо я, если уж есть база данных, бы делала один курсор (запросом очень много можно из таблицы вытянуть) либо при переопределении метода getView запросы дополнительные к таблице посылать, выбирая данные.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: как присвоить ListView несколько адапреров?

Сообщение tadvas » 24 окт 2013, 23:47

Недавно сталкивался с таким же вопросом.
При помощи MergeCursor можно объединить адаптеры.
Но если одна таблица, то тебе скорее нужно использовать setViewBinder.
Биндер позволяет изменить данные, которые отображаются.

Ответить