Какие методы жизненного цикла вызываются для повторно используемого элемента в recyclerView? ⇐ Android
Какие методы жизненного цикла вызываются для повторно используемого элемента в recyclerView?
У меня есть RecyclerView, в который я передаю текст, и хочу понять следующее: если lineCount > 3, я показываю кнопку развертывания, устанавливаю размер эллипса в конечное состояние и делаю maxLines = 3.
Для этого я использую прослушиватель textView, что-то вроде этого. Я устанавливаю currentLineCount = textView.lineCount и заставляю устанавливать другие состояния внутри прослушивателя, такие как maxLines и т. д.
fun View.afterLayoutConfiguration(func: () -> Unit) { viewTreeObserver?.addOnGlobalLayoutListener(объект: ViewTreeObserver.OnGlobalLayoutListener { переопределить удовольствие onGlobalLayout() { viewTreeObserver?.removeOnGlobalLayoutListener (это) функция() } }) } Однако я столкнулся с проблемой, поскольку RecyclerView повторно использует элементы, а прослушивание приводит к тому, что состояние старых представлений применяется к новым элементам при прокрутке.
Мне нужна помощь в понимании решения этого случая, поскольку я не нашел, как подсчитать количество строк в текстовом представлении.
У меня есть RecyclerView, в который я передаю текст, и хочу понять следующее: если lineCount > 3, я показываю кнопку развертывания, устанавливаю размер эллипса в конечное состояние и делаю maxLines = 3.
Для этого я использую прослушиватель textView, что-то вроде этого. Я устанавливаю currentLineCount = textView.lineCount и заставляю устанавливать другие состояния внутри прослушивателя, такие как maxLines и т. д.
fun View.afterLayoutConfiguration(func: () -> Unit) { viewTreeObserver?.addOnGlobalLayoutListener(объект: ViewTreeObserver.OnGlobalLayoutListener { переопределить удовольствие onGlobalLayout() { viewTreeObserver?.removeOnGlobalLayoutListener (это) функция() } }) } Однако я столкнулся с проблемой, поскольку RecyclerView повторно использует элементы, а прослушивание приводит к тому, что состояние старых представлений применяется к новым элементам при прокрутке.
Мне нужна помощь в понимании решения этого случая, поскольку я не нашел, как подсчитать количество строк в текстовом представлении.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение