Как обнаружить элемент виден в программе просмотра с помощью onViewAttachedToWindow - PullRequest
0 голосов
/ 14 апреля 2020

Я делаю GA. и нужно определить видимость элемента в представлении рециркулятора, и я использую метод onViewAttachedToWindow из RecyclerView.Adapter. Это правильный путь? и это нормально с linearlayoutmanager, поведение которого подобно документу. И есть проблема при использовании StaggeredGridLayoutManager, он вызовет onViewAttachedToWindow, даже если элемент не виден. и я пытаюсь использовать слушатель scollchange после поиска в stackoverflow, что является той же проблемой. Как я могу определить, что элемент виден на экране.

Ниже приведен мой вид переработчика:

        <androidx.recyclerview.widget.RecyclerView xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/more_recycler_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:nestedScrollingEnabled="false"
            android:orientation="vertical"
            app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
            app:spanCount="2" />

, и я пытаюсь обнаружить видимый элемент следующим способом:

@Override
public void onViewAttachedToWindow(@NonNull SuggestViewHolder holder) {
    super.onViewAttachedToWindow(holder);
    int i = holder.getAdapterPosition();
...