Форум программистов, компьютерный форум CyberForum.ru

Как уменьшить количество layouts для RecyclerView - Android

Восстановить пароль Регистрация
 
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 11
05.11.2016, 19:51     Как уменьшить количество layouts для RecyclerView #1
Здравствуйте уважаемые гуру, ситуация следующая:
Делаю список на RecyclerView, нашел как можно добавить header к списку. Но нигде не могу найти, как дергать примеры из одного layout файла к примеру по id RelativeLayout.

попытался сделать так в адаптере:
Java
1
2
3
 View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cv, viewGroup, false);
 View childV = v.findViewById(R.id.header);
 return new myAdapter.VHHeader(childV);
Начинает ругаться, что мол у вьюхи есть родитель. Я так понимаю нужно передавать корневую вьюху в RecyclerView.ViewHolder.

Что можно с этим сделать? Неужели делать на каждую строку (А у меня их планируется штук 6 разных) свой файл ресурса типа layout? Потому как в просторах инета везде пишут про отдельные файлы.

Заранее благодарю. Надеюсь понятно объяснил.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2016, 19:51     Как уменьшить количество layouts для RecyclerView
Посмотрите здесь:

Как создать RecyclerView c передвигаемыми элементами? Android
Android Подскажите по расположению элементов (Layouts)
Android RecyclerView и SQLite
Android Как обновить список RecyclerView после добавления item?
RecyclerView Android
Как настроить RecyclerView ? Android
Android RecyclerView создает Item на размер экрана, как исправить?
Android Recyclerview-stickyheaders

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vanchous
1 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 22
06.11.2016, 02:47     Как уменьшить количество layouts для RecyclerView #2
1 layot на все 6 строк, чем не устраивает?
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 11
06.11.2016, 02:49  [ТС]     Как уменьшить количество layouts для RecyclerView #3
Они все не зависимы. И показываются или нет в зависимости от условий в Адаптере.
Если бы я хотел сделать header из 6 строк, я бы не обращался на форум
vanchous
1 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 22
06.11.2016, 03:01     Как уменьшить количество layouts для RecyclerView #4
так а если в этот layout добавить 6 relativelayout и работать с visability в зависимости от условий в адаптере?)
остается все тот же 1 файл ресурса
shavuz
53 / 59 / 9
Регистрация: 29.01.2014
Сообщений: 295
06.11.2016, 11:18     Как уменьшить количество layouts для RecyclerView #5
вообще то, да нужно делать на каждый отдельный обьект свой вью, потому что если вы будете открывать и закрывать обьекты во первых будет куча висибл инвизибл, а если сегодня 6 строк а завтра 8? то что нужно сделать это в листе с обьектами держать переменную которая будет отвечать за тип строки, это строку надо проверять в onCreateHeaderViewHolder и в онБаинд, в первом вы просто даете вью нужный хмл, а во втором делате свич с обьектами самого хмл который получили. и если когда нибудь появится еще строка, просто добавляете проверку на тип обьекта и добавляете в свич его обработку. - красиво, удобно, не сложно.
CoolMind
403 / 386 / 65
Регистрация: 06.10.2012
Сообщений: 1,662
07.11.2016, 12:07     Как уменьшить количество layouts для RecyclerView #6
Как уменьшить количество layouts для RecyclerView
Используйте ListView, если не требуются дополнительные возможности из RV. В LV есть важная вещь - там ViewHolder необязателен. Следовательно, все независимые элементы можно создавать без ViewHolder и задавать для них логику индивидуально. В этом огромный минус RV (а все пишут, что плюс, видать, не сталкивались, иначе бы не писали такого идиотизма).

Добавлено через 3 минуты
Цитата Сообщение от asttoxa Посмотреть сообщение
Они все не зависимы.
Создайте общий класс-предок с некоторыми свойствами и методами типа int getType . Туда будете писать числа (1, 2, ..., 6), которые означают вид объекта. Дальше создаёте 6 классов-наследников со своей логикой и дополнительными свойствами и событиями. Потом в адаптере делаете анализ getType и по нему делаете вывод нужного XML.
Всё это описано в некоторых статьях, как сделать RecyclerView с заголовками (секциями).
Yandex
Объявления
07.11.2016, 12:07     Как уменьшить количество layouts для RecyclerView
Ответ Создать тему
Опции темы

Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru