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)
我有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)