Как получить значение у элемента рециркуляции на экране, а не в режиме рециркуляции - PullRequest
0 голосов
/ 07 января 2020

В настоящее время я пытаюсь найти значение y заданного c элемента утилизатора на экране, а не значение y в представлении утилизатора. В качестве примера я хотел бы знать, когда элемент утилизатора имеет значение 0 (в верхней части окна утилизатора). Выполнение этого для первого элемента работает нормально, а для n-го элемента - нет. Для некоторого фона в настройке представления это представление переработчика, в котором есть смешанные элементы во фрагменте в действии. Я делаю свои вычисления в методе onScrolled RecyclerView.OnScrollListener ()

val topChild = recyclerView.getChildAt(0)
val pos = recyclerView.getChildAdapterPosition(topChild)
val child = adapter.items.get(pos)

if(child is mySpecialListItem){
    // check y position here
}

Мой вопрос заключается в том, как получить позицию y n-го элемента в представлении рециркулятора относительно экрана, а не в представление рециркулятора?

child.y // works fine when the first element not the nth
val outRect = IntArray(2)
child.getLocationInWindow(outRect) // never gets to 0

Я также попытался отследить прокрутку общей суммы и вычесть ее из child.y, но она не равна 0 в правильной позиции, то же самое с вычитанием суммы прокрутки из outRect [ 1].

Спасибо за помощь.

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