【问题标题】:get wrong position in recyclerview which in fragment with viewpager在带有 viewpager 的片段中的 recyclerview 中得到错误的位置
【发布时间】:2016-08-22 15:59:55
【问题描述】:

我有一个带有 4 个 Fragment 的 viewpager,每个 Fragment 中有一个 RecyclerView 和 SwipeRefreshLayout。 xml代码如下:

<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>

当我从左到右切换 ViewPager 时,我会在 Fragment 中得到 RecyclerView

 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);
            }
        }
    });

但是当我将viewpager从A页切换到B页和C页时,在C页时,recyclerView不在顶部(findFirstCompletelyVisibleItemPosition不是0),但当时我无法获取findFirstCompletelyVisibleItemPosition当切换到页面 C 时,swipeRefreshWidget 可以刷新,但我希望它不能刷新。 像这样。 PS.B页的recyclerView在顶部,而A页和C页的recyclerView在中间。

【问题讨论】:

    标签: android-fragments caching android-viewpager android-recyclerview swiperefreshlayout


    【解决方案1】:

    我也遇到过类似的问题。第一页显示第二页的内容。 因为我设置: 静态字符串周; 周属于班级。当我返回新的 Fragment() 两次。第一个 fragment.week 发生了变化。结果是 first.week == second.week.
    也因为 FragmentStatePagerAdapter 会执行 getitem() 两次。所以第一页的内容是错误的。他将在第一页显示第二个片段的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多