我制作了一个将SwipeRefreshLayout用于listView的Android应用。通常它可以正常工作,但是如果我进行大量刷新以及在列表视图中向下滚动,则有时变得无法再次执行SwipeRefresh。启用SwipeRefresh,并将侦听器设置为当前片段,并且不再设置其他任何内容。
我在日志中看不到任何错误,所以我不确定是什么导致了此错误。
在我的onRefresh方法中,我只是进行网络请求以获取数据,然后在演示者中设置setRefreshing(false)和notifyDataSetChanged()。
这是我正在使用的布局文件:
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/spotlight_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingPrefix">
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/spotlight_fragment_swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/spotlight_no_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/white"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/spotlight_no_photos"
android:layout_marginTop="130dp"
android:textSize="@dimen/font_large"
fontPath="fonts/helveticaneue/HelveticaNeue Medium.ttf"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/brand_view_check_back"
android:layout_marginTop="@dimen/spacing_tiny" />
</LinearLayout>
<ListView
android:id="@+id/spotlight_fragment_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@android:color/transparent"
android:dividerHeight="@dimen/spacing_tiny"
android:listSelector="@android:color/transparent"
android:orientation="vertical" />
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
这里似乎是什么问题?由于我没有收到任何错误,这使我非常困惑。谢谢!