SwipeRefreshLayout 不允许我向上滚动

SwipeRefreshLayout does not allow me to scroll up

我有一个带有 SwipeRefreshLayout 的应用,里面有一个 ListView。当填充 ListView 时,我可以轻松向下滚动以阅读列表中较旧的项目,但是当我尝试向上滚动时,即使我试图向上滚动,此操作也会被误认为是 Pull2Refresh 操作。不管我把手指放在哪里,它仍然会把它误认为是 Pull2Refresh 动作。我该如何解决这个问题,因为滚动回顶部是一个问题。

这是带有 SwipeRefreshLayout 的片段的 XML :

<android.support.v4.widget.SwipeRefreshLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/swipe_refresh_layout_general"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">

  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.inc.automata.unamupdates.fragments.GeneralNewsFragment">

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

尝试在列表视图中使用以下属性

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.inc.automata.unamupdates.fragments.GeneralNewsFragment">

    <ListView
        android:id="@+id/listViewGeneral"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:smoothScrollbar="true"
        android:fadeScrollbars="true"></ListView>

</FrameLayout>

问题是您用滑动刷新布局包装了 整个 布局。你应该只用 SwipeRefreshLayout 包装你的 ListView。

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