我有一个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>
答案 0 :(得分:0)
尝试在listview中使用follwoing属性
<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>
答案 1 :(得分:0)
问题是您已经用滑动刷新布局包裹了整个布局。您只应使用SwipeRefreshLayout包装ListView。 Link to original answer
<android.support.v4.widget.SwipeRefreshLayout
...
>
<RecyclerView
...
/>
</android.support.v4.widget.SwipeRefreshLayout>