Как я могу применить шаблон ViewHolder к ChipGroup - PullRequest
0 голосов
/ 03 октября 2018

У меня есть RecyclerView, и у каждого элемента списка есть ChipGroup.Я хочу накачать Chip s из xml и добавить их в ChipGroup.Каждый элемент списка имеет от 1 до 4 фишек.Если у моих RecyclerView есть 50 предметов, Chip s раздуваются от 50 до 200 раз.Благодаря шаблону ViewHolder RecyclerView элементы раздуваются только один раз.Должно быть возможным снизить количество инфляции до 50 для Chip с.Как я могу применить тот же шаблон ViewHolder для Chip s?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Если каждый элемент в RecyclerView содержит 1-4 фишки, я думаю, что было бы совершенно разумно просто всегда раздувать четыре фишки, но динамически показывать / скрывать их, когда вы связываете ViewHolder.Если у вас было огромное количество фишек, эта стратегия может быть не идеальной, но для четырех она подойдет.

0 голосов
/ 11 октября 2018

Шаблон ViewHolder повторно использует каждое представление, объявленное в ViewGroup.Вы добавляете Chips динамически в свою ChipGroup (и, следовательно, в ViewGroup) для каждого элемента;RecyclerView не может знать, какие фишки вы хотите использовать повторно.

Вы можете создать 50 чипов-заполнителей в макете ChipGroup в XML, а затем динамически обновлять / показывать / скрывать их, но это не очень элегантное решение.

...