0

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가 중간에 있습니다. enter image description here

답변

0

비슷한 문제가 발생했습니다. 첫 페이지는 두 번째 페이지의 내용을 표시합니다. 내가 설정했기 때문에 : static string week; 주는 수업에 속합니다. 내가 새 조각() 을 두 번 반환 할 때. 첫번째 조각. 주간은 바뀌었다. 결과는 first.week == second.week입니다. FragmentStatePagerAdapter가 getitem()을 두 번 실행하기 때문에
도 있습니다. 첫 번째 호출기의 내용이 잘못되었습니다. 그는 두 번째 단편의 내용을 첫 번째 페이지에 표시합니다.