4 개 단편을 가진 뷰 페이지가 있으며 각 단편에 RecyclerView와 SwipeRefreshLayout이 있습니다. 이 같은 XML 코드 : 나는 왼쪽에서 오른쪽으로 ViewPager를 전환 할 때recyclerview에서 뷰 파인더로 단편화 된
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_widget"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/orderList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"/>
</android.support.v4.widget.SwipeRefreshLayout>
, 나는
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
//set swipeRefreshWidget can not refresh when recyclerView is not in the top
mSwipeRefreshWidget.setEnabled(orderLayoutManager.findFirstCompletelyVisibleItemPosition() == 0);
}
}
});
처럼 조각에 RecyclerView을 얻을하지만 C 페이지 B에 페이지에 페이지 A에서 viewpager를 전환 할 때 , 페이지 C에서, recyclerView가 상단에 없으면 (findFirstCompletelyVisibleItemPosition이 0이 아닙니다.) 그 당시에는 페이지 C로 전환 할 때 findFirstCompletelyVisibleItemPosition을 얻을 수 없으므로 swipeRefreshWidget을 새로 고칠 수는 있지만 원하는 것은 아닙니다. 새롭게 하다. 이 같은 . 페이지 B의 recyclerView가 맨 위에 있지만 페이지 A와 페이지 C에서 recyclerView가 중간에 있습니다.