Как использовать PullToRefresh в StaggeredGridView?

Я использую Staggeredgridview в моем проекте.

Я скачал библиотеку StaggeredGridView и демонстрационную версию здесь: https://github.com/maurycyw/StaggeredGridViewDemo https://github.com/maurycyw/StaggeredGridView

Мне нужно PullToRefresh для всего этого gridview

Спасибо всем

2 ответа

Только что добавлена ​​поддержка StaggeredGridView в Крис Бейнс Android-PullToRefresh. Также поддержка Actionbar-PullToRefresh для ActionBarSherlock,

Заключите сетку в SwipeRefreshLyout.

     <android.support.v4.widget.SwipeRefreshLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/swipeLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

Добавьте прослушиватель onScroll для вида сетки в onViewCreated. Установите условия, когда обновление включено.

    swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipeLayout);
    swipeRefreshLayout.setColorSchemeResources(R.color.theme_color);
    swipeRefreshLayout.setOnRefreshListener(this);
    gridView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView absListView, int i) {
        }

        @Override
        public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            int dist = gridView.getDistanceToTop();

            if (dist == 0)
                swipeRefreshLayout.setEnabled(true);
            else {
                swipeRefreshLayout.setEnabled(false);
            }

        }
    });

Затем добавьте функцию onRefresh.

     @Override
    public void onRefresh() {
      if (!swipeRefreshLayout.isRefreshing()) {
          swipeRefreshLayout.setRefreshing(true);
      }
      //add functionality then set refresh to false
      swipeRefreshLayout.setRefreshing(false);
    }
Другие вопросы по тегам