OnGlobalLayoutListener не срабатывает достаточно рано при прокрутке RecyclerView - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть RecyclerView, в котором есть некоторые элементы. Эти элементы расположены с помощью ConstraintLayout.

В другом вопросе о SO у меня возникли проблемы с установкой ширины представления внутри ConstraintLayout, поскольку ширина должна быть динамической. Решением было прослушать завершение глобального макета с использованием OnGlobalLayoutListener. Подробно здесь: Как программно установить ширину / поле просмотра относительно другого вида в ConstraintLayout

Это было хорошо. Пока я не начал прокручивать RecyclerView. Поскольку элементы перерабатываются, ширина панели не устанавливается во времени. Если прокрутить вниз достаточно далеко, ширина стержней будет неправильной, потому что OnGlobalLayoutListener не запускается, и отображаются переработанные стержни из переработанных элементов (то есть с неправильной шириной). Если я коснусь экрана, это вызовет OnGlobalLayoutListener, и ширины будут установлены правильно.

Любая помощь с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...