如何刷新布局以刷新android

时间:2016-07-15 06:37:34

标签: android android-recyclerview swiperefreshlayout

我在swipeRefresh内部有一个回收站视图每次我尝试向上滚动时刷卡刷新方法被调用并且布局被刷新,但我想仅在滚动到屏幕顶部时刷新布局。有没有人对这个问题有答案。

感谢任何帮助,谢谢

我的布局如下所示。

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swipe_container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:id="@+id/rel"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/toolbar"
            android:scrollbars="vertical" />
    </RelativeLayout>

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

2 个答案:

答案 0 :(得分:2)

我解决了我的问题。我不得不重新安排我的代码以使其正常工作。 现在,lyout会在到达屏幕顶部时刷新。

compute

答案 1 :(得分:1)

使用SwipeRefreshLayout的setOnRefreshListener方法

upload_swipe_refresh_layout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {

            webServiceCall();
            upload_swipe_refresh_layout.setRefreshing(false);
        }
    });

继续刷新

upload_swipe_refresh_layout.post(new Runnable() {
    @Override
    public void run() {
        upload_swipe_refresh_layout.setRefreshing(true);
    }
});