Size: a a a

Android Developers

2021 March 08

XE

Xrp Evgeny in Android Developers
В каких случаях лучше использовать viewpage2?
источник

AY

Andy Yanechko in Android Developers
Сергей Маслов
всем привет, друзья, товарищи, коллеги, кто нибудь знает хоть один нормальный способ организовать мульти левел tree view? есть expandable view, но там макс вложенность = 1 чайлд, а надо N
Обычный recycler, с контролем, допустим во вьюмоделе (иди где-то в другом месте, в зависимости какую архитектуры используете). Под "контролем" я имею ввиду что отлавливать клики во вью холдере и слать в вьюмодель (или что там у вас) и добавлять / удалять определённые элементы, после чего submitList на адаптере (адаптер начледовать от ListAdapter). Я бы так делал
источник

СМ

Сергей Маслов... in Android Developers
Andy Yanechko
Обычный recycler, с контролем, допустим во вьюмоделе (иди где-то в другом месте, в зависимости какую архитектуры используете). Под "контролем" я имею ввиду что отлавливать клики во вью холдере и слать в вьюмодель (или что там у вас) и добавлять / удалять определённые элементы, после чего submitList на адаптере (адаптер начледовать от ListAdapter). Я бы так делал
спасибо за ответ, я думал про удаление\добавление элементов, но решил, что это не самый подходящий по перфомансу вариант для такого действия, как раскрытия ноды, т.к. в теории ее можно открывать\закрывать N раз в секунду, а внутри может быть довольно много элементов
источник

СМ

Сергей Маслов... in Android Developers
были мысли еще чисто скрывать itemView, пока работаю как раз в этом направлении.
по поводу удаления элементов: минус еще в том, что придется держать бэкап лист, то есть создавать еще один дата сорс, что всегда влечет за собой стремные баги
источник

AY

Andy Yanechko in Android Developers
Ну, создания элементов может быть не в UI потоке, ListAdaprer детектит дифы тоже не в UI, а ресвйклер все с верху ещё оптимизирует, в плане, что переиспользует
источник

AY

Andy Yanechko in Android Developers
Сергей Маслов
были мысли еще чисто скрывать itemView, пока работаю как раз в этом направлении.
по поводу удаления элементов: минус еще в том, что придется держать бэкап лист, то есть создавать еще один дата сорс, что всегда влечет за собой стремные баги
Да, с доп. листом согласен
источник

СМ

Сергей Маслов... in Android Developers
ресайклер переиспользует объекты созданных виджетов, насколько я помню, но вообще да, если забить на эстетику и сам факт того, что процессор работает по сути зазря, то можно сделать и так
источник

СМ

Сергей Маслов... in Android Developers
зря что ли там на всех ксяоми по 28 ядер стоит))
источник

ИЧ

Иван Чепёлкин... in Android Developers
Andy Yanechko
Обычный recycler, с контролем, допустим во вьюмоделе (иди где-то в другом месте, в зависимости какую архитектуры используете). Под "контролем" я имею ввиду что отлавливать клики во вью холдере и слать в вьюмодель (или что там у вас) и добавлять / удалять определённые элементы, после чего submitList на адаптере (адаптер начледовать от ListAdapter). Я бы так делал
Есть проблема. Нужно , чтоб  элементы из списка в листадаптере имели другие ссылки в памяти относительно элементов, которые вы будите туда класть.иначе меняя флаг expanable во вью модели диффутилс не сработает
источник

ИЧ

Иван Чепёлкин... in Android Developers
Поэтому лучше знать позицию элемента, который хотите раскрыть и делать notifyDataItem  по позиции того элемента который хотите раскрыть
источник

ИЧ

Иван Чепёлкин... in Android Developers
Надеюсь, понятно изъяснился
источник

сз

саб зиро in Android Developers
никто не подскажет чем может вызвана данная ошибка
источник

L

Leonid in Android Developers
саб зиро
никто не подскажет чем может вызвана данная ошибка
Файл не может открыть 🤷‍♂
источник

СМ

Сергей Маслов... in Android Developers
Сергей Маслов
всем привет, друзья, товарищи, коллеги, кто нибудь знает хоть один нормальный способ организовать мульти левел tree view? есть expandable view, но там макс вложенность = 1 чайлд, а надо N
сделал через скрытие элементов списка
itemView.layoutParams.height = 0

работает нормально. это если очень коротко. если чуть длиннее - то по факту у меня под капотом простой список, но с помощью вьюх все выглядит так, как будто это дерево
источник

L

Leonid in Android Developers
Сергей Маслов
сделал через скрытие элементов списка
itemView.layoutParams.height = 0

работает нормально. это если очень коротко. если чуть длиннее - то по факту у меня под капотом простой список, но с помощью вьюх все выглядит так, как будто это дерево
Можно просто мапить дерево в линейный список и показывать элементы с нужными отступами в соответствии с их открытым/закрытым состоянем. И не нужно будет играться с параметрами лэйаутов.
источник

СМ

Сергей Маслов... in Android Developers
Leonid
Можно просто мапить дерево в линейный список и показывать элементы с нужными отступами в соответствии с их открытым/закрытым состоянем. И не нужно будет играться с параметрами лэйаутов.
Можно, если нет требования иметь возможность скрыть/раскрыть
источник

СМ

Сергей Маслов... in Android Developers
Так, я чё то не то прочитал
источник

СМ

Сергей Маслов... in Android Developers
Я тогда не очень понял вашу идею
источник

L

Leonid in Android Developers
Сергей Маслов
Можно, если нет требования иметь возможность скрыть/раскрыть
Перестраивается список, адаптеру говорят в нужном месте notify и опять не нужно играться с отступами 😁
источник

СМ

Сергей Маслов... in Android Developers
А скрывать то как тогда?
источник