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>
我有一个带有 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>