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

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

Войти
Регистрация
Восстановить пароль
 
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 54
#1

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

05.11.2016, 19:51. Просмотров 218. Ответов 5
Метки нет (Все метки)

Здравствуйте уважаемые гуру, ситуация следующая:
Делаю список на 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 для прокрутки - Программирование Android
Доброго дня. Необходимо сделать сделать следующее поведение прокручиваемого списка. Описать словами и представить это можно следующим...

Android Studio: не пойму как размещать layouts и виджеты - Программирование Android
Начинаю знакомство с программированием android в Android Studio. Начинаются проблемы с созданием макета. Я понял, что группы виджетов,...

Как развернуть RecyclerView - Программирование Android
Делаю свой месседжер и столкнулся с проблемой, как развернуть RecyclerView (на подобии сообщений в ВК) у меня есть идея, вставлять...

Как отследить событие OnClick в RecyclerView - Программирование Android
Есть адаптер: public class RecyclerAdapter extends RecyclerView.Adapter <RecyclerAdapter.ViewHolder>{ TextView info; ...

Как создать RecyclerView c передвигаемыми элементами? - Программирование Android
Как создать RecyclerView c элементами которые можно как бы вытаскивать из списка и вставить на другую позицию? Не копирование / вставка,...

Как добавить один дополнительный элемент-заголовок в RecyclerView? - Программирование Android
Как можно добавить первым (нулевым) элементом особенный, отличающийся от остальных элемент-шапку в список RecyclerView? Список...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Сообщений: 54
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
101 / 107 / 20
Регистрация: 29.01.2014
Сообщений: 534
06.11.2016, 11:18     Как уменьшить количество layouts для RecyclerView #5
вообще то, да нужно делать на каждый отдельный обьект свой вью, потому что если вы будете открывать и закрывать обьекты во первых будет куча висибл инвизибл, а если сегодня 6 строк а завтра 8? то что нужно сделать это в листе с обьектами держать переменную которая будет отвечать за тип строки, это строку надо проверять в onCreateHeaderViewHolder и в онБаинд, в первом вы просто даете вью нужный хмл, а во втором делате свич с обьектами самого хмл который получили. и если когда нибудь появится еще строка, просто добавляете проверку на тип обьекта и добавляете в свич его обработку. - красиво, удобно, не сложно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2016, 12:07     Как уменьшить количество layouts для RecyclerView
Еще ссылки по теме:

RecyclerView создает Item на размер экрана, как исправить? - Программирование Android
Аномалии, сменил версию RecyclerView с 21.0.+ на 23.3.0. Теперь он создает 1 элемент на весь размер экрана. Т.е элемент CardView создается...

Как обновить список RecyclerView после добавления item? - Программирование Android
Как обновить список RecyclerView после добавления item? список RecyclerView в DialogFragment, из контактов добавляется номер который...

FireBase + RecyclerView| как обновить список, после удаления item из базы? - Программирование Android
Добрый всем день! есть метод который удаляет айтем (значения items берутся из FireBase): public void DelPos(View v){ ...

Как определить, что элемент RecyclerView пересекает при перемещении регион кнопки? - Программирование Android
У меня есть recyclerview а внизу экрана есть кнопка. На recyclerview повешен TouchListener и у него есть метод public boolean onTouch(View...

Как подписать текстовое поле внутри элемента RecyclerView на будущие изменения в Avtivity - Программирование Android
Доброго дня. У меня есть список на основе SectionedRecycler а так же в активити стартует AsyncTask и когда приходит ответ в некоторые...

Подскажите по расположению элементов (Layouts) - Программирование Android
Подскажите, как расположить элементы, так, чтобы "Кнопка 1" была вверху экарана, а "Кнопки 7, 8" внизу, а Кнопки 2-6 остались по середине...


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

Или воспользуйтесь поиском по форуму:
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
Ответ Создать тему
Опции темы

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