延迟后停止刷新

时间:2015-05-16 15:38:22

标签: android

我想在延迟后停止刷新,所以我这样做但是它不起作用:

   final SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) rootview.findViewById(R.id.activity_main_swipe_refresh_layout);
        mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override public void onRefresh() {
                new Handler().postDelayed(new Runnable() {
                    @Override public void run() {
                        mSwipeRefreshLayout.setRefreshing(false);
                    }
                }, 2000);
            }
        });
    }

这是我不知道的XML代码是否合适:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/apk/res-auto"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >


<android.support.v4.widget.SwipeRefreshLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:id="@+id/activity_main_swipe_refresh_layout"
    >

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@id/android:list"
        android:longClickable="true"





        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true" />



    <TextView
        android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="30sp"


        android:text="" />


    <com.getbase.floatingactionbutton.AddFloatingActionButton
        android:id="@+id/semi_transparent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_plusIconColor="@color/primaryTextColor"
        fab:fab_colorNormal="@color/primaryColor"
        fab:fab_colorPressed="@color/AccentColor"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView5"
        android:height="200dp"
        android:width="200dp"
        android:visibility="gone"
        android:textSize="22dp"
        android:text="Vous n&apos;avez aucun coffy commencez par en ajouter un en cliquant sur le bouton +"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

    <WebView
        android:layout_width="10dp"
        android:layout_height="10dp"
        android:id="@+id/webView3"
        android:visibility="invisible"
        android:layout_above="@+id/semi_transparent"
        android:layout_centerHorizontal="true" />

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




</RelativeLayout>

如果有人找到解决方案,我会尝试一切,这将是不可思议的

我的处理程序导入:

import android.os.Handler;

1 个答案:

答案 0 :(得分:1)

我的代码中没有发现任何错误,但您可以查看此剪辑:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);

    SwipeRefreshLayout swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
    swipeLayout.setOnRefreshListener(this);
    swipeLayout.setColorScheme(android.R.color.holo_blue_bright, 
            android.R.color.holo_green_light, 
            android.R.color.holo_orange_light, 
            android.R.color.holo_red_light);
}


@Override public void onRefresh() {
    new Handler().postDelayed(new Runnable() {
        @Override public void run() {
            swipeLayout.setRefreshing(false);
        }
    }, 5000);
}

我认为你的布局错了,RelativeLayout应该在SwipeRefreshLayout里面。检查下面的这个布局,并注意如果仍然不起作用,你可以带xmlns:fab =&#34; http://schemas.android.com/apk/res-auto"到SwipeRefreshLayout属性:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main_swipe_refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <RelativeLayout
        xmlns:fab="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ListView
            android:id="@id/android:list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:longClickable="true"/>

        <TextView
            android:id="@android:id/empty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text=""
            android:textSize="30sp"/>

        <com.getbase.floatingactionbutton.AddFloatingActionButton
            android:id="@+id/semi_transparent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            fab:fab_colorNormal="#ABCDEF"
            fab:fab_colorPressed="@color/AccentColor"
            fab:fab_plusIconColor="@color/primaryTextColor"/>
        <TextView
            android:id="@+id/imageView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:width="200dp"
            android:height="200dp"
            android:text="Vous n&apos;avez aucun coffy commencez par en ajouter un en cliquant sur le bouton +"
            android:textSize="22dp"
            android:visibility="gone"/>

        <WebView
            android:id="@+id/webView3"
            android:layout_width="10dp"
            android:layout_height="10dp"
            android:layout_above="@+id/semi_transparent"
            android:layout_centerHorizontal="true"
            android:visibility="invisible"/>
    </RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>