Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 83

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

05.11.2016, 19:51. Показов 705. Ответов 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? Потому как в просторах инета везде пишут про отдельные файлы.

Заранее благодарю. Надеюсь понятно объяснил.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2016, 19:51
Ответы с готовыми решениями:

Уменьшить количество запросов для заполнения формы
Добрый день форумчане. Есть база данных в которой хранится информация о содержимом системного блока (рисунок схемы БД прилагается). ...

Как уменьшить количество строк?
У меня есть следующая менюшка: private void Size_Click(object sender, EventArgs e) { string s = sender.ToString(); ...

Как уменьшить количество запросов к БД
Здравствуйте, у меня есть цикл который выводит картинки, а alt='' и title='' должны будут выводиться из БД. Я могу только сделать так,...

5
1 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 22
06.11.2016, 02:47
1 layot на все 6 строк, чем не устраивает?
0
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 83
06.11.2016, 02:49  [ТС]
Они все не зависимы. И показываются или нет в зависимости от условий в Адаптере.
Если бы я хотел сделать header из 6 строк, я бы не обращался на форум
0
1 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 22
06.11.2016, 03:01
так а если в этот layout добавить 6 relativelayout и работать с visability в зависимости от условий в адаптере?)
остается все тот же 1 файл ресурса
0
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 609
06.11.2016, 11:18
вообще то, да нужно делать на каждый отдельный обьект свой вью, потому что если вы будете открывать и закрывать обьекты во первых будет куча висибл инвизибл, а если сегодня 6 строк а завтра 8? то что нужно сделать это в листе с обьектами держать переменную которая будет отвечать за тип строки, это строку надо проверять в onCreateHeaderViewHolder и в онБаинд, в первом вы просто даете вью нужный хмл, а во втором делате свич с обьектами самого хмл который получили. и если когда нибудь появится еще строка, просто добавляете проверку на тип обьекта и добавляете в свич его обработку. - красиво, удобно, не сложно.
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
07.11.2016, 12:07
Как уменьшить количество layouts для RecyclerView
Используйте ListView, если не требуются дополнительные возможности из RV. В LV есть важная вещь - там ViewHolder необязателен. Следовательно, все независимые элементы можно создавать без ViewHolder и задавать для них логику индивидуально. В этом огромный минус RV (а все пишут, что плюс, видать, не сталкивались, иначе бы не писали такого идиотизма).

Добавлено через 3 минуты
Цитата Сообщение от asttoxa Посмотреть сообщение
Они все не зависимы.
Создайте общий класс-предок с некоторыми свойствами и методами типа int getType . Туда будете писать числа (1, 2, ..., 6), которые означают вид объекта. Дальше создаёте 6 классов-наследников со своей логикой и дополнительными свойствами и событиями. Потом в адаптере делаете анализ getType и по нему делаете вывод нужного XML.
Всё это описано в некоторых статьях, как сделать RecyclerView с заголовками (секциями).
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2016, 12:07
Помогаю со студенческими работами здесь

Как уменьшить количество кода?
Здравствуйте. Имеется костыль код. Этот код делает типа "сколько чисел вместится в одно большое число". Так, как я с С++ недавно,...

Как сделать последний пустой элемент в RecyclerView для прокрутки
Доброго дня. Необходимо сделать сделать следующее поведение прокручиваемого списка. Описать словами и представить это можно следующим...

[Сортировка слиянием] Уменьшить количество требуемой памяти для сортировки
Добрый, на момент написания, день всем. Изучаю алгоритмы данных, дошёл до сортировки слиянием (Merge Sort). Прочитал, что для...

Как уменьшить количество потребляемой памяти
Написал простенькую консольную програмку с несколькими классами. В диспечере задач она занимает не меньше 11 мб памяти. хотелось бы...

Рекурсия, как уменьшить количество вызовов?
Вот написал код все вроде работает, но при каждом новом числе значительно увеличивается число вызовов функции. Каким образом можно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru