FragmentPagerAdapter 中的 SwipeRefreshLayout

SwipeRefreshLayout in FragmentPagerAdapter

我有Activity

<RelativeLayout>
   <FrameLayout/> // fragmentContainer
   <OtherView/>
<RelativeLayout>

在 fragmentContainer 中,我将带有 3 个选项卡的 TabLayout 的 Fragment 放入。

TabLayout
ViewPager

在每个选项卡上,我都使用相同的 ListFragment,如下所示:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true"
>

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v7.widget.RecyclerView>

</android.support.v4.widget.SwipeRefreshLayout>

我在 PagerAdapter 中初始化它,我在其中保存了 ListFragment 实例列表

FRAGMENTS: List<Fragment> = listOf(
    ListFragment.newInstance(Mode.FIRST)
    ListFragment.newInstance(Mode.SECOND)
    ListFragment.newInstance(Mode.THIRD)
)

取决于从不同来源加载数据的模式。

问题是滑动刷新仅适用于前两个片段。 第三,没有滑动手势。

问题出在第三个选项卡上加载的回收站视图内容中。 第一个加载的项目有这个:

this.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                0)