Как получить текущую позицию элемента recylcerview, когда у вас есть менеджер горизонтальной разметки, прикрепленный в xamarin android? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть просмотр реселлера, поэтому при каждой горизонтальной прокрутке меняется один элемент, в то время как у меня есть заголовок, похожий на панель инструментов вверх, который состоит только из текстовых представлений, я хочу, чтобы текстовые просмотры менялись в соответствии с текущей позицией переработчика, как я могу это получить позиция? обратите внимание, что я не могу сделать это непосредственно в адаптере, так как Recyclerview обычно загружает 4-5 элементов, и позиция не будет восстановлена ​​при прокрутке назад.

1 Ответ

0 голосов
/ 06 мая 2018

Хорошо, я действительно провел какое-то исследование, возможно, мне не нужно было публиковать вопрос.

Итак, в основном я использовал OnScrollListener из recyclerview и переопределил OnScrollStateChanged. Код выглядит так

public class OnScrollListenerWallet : RecyclerView.OnScrollListener
    {
        public override void OnScrollStateChanged(RecyclerView recyclerView, int newState)
        {
            base.OnScrollStateChanged(recyclerView, newState);
            int pos = 0;
            if (newState == RecyclerView.ScrollStateIdle)
            {
                pos = ln.FindFirstVisibleItemPosition();
                myPassedTextView.Text = myCollection[pos].Name;
            }
        }
    }

А в действии вы просто:

recyclerView.AddOnScrollListener(new OnScrollListenerWallet(myPassedTextView,myLayoutManager,myCollection));

`

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