5

プロジェクトで Staggeredgridview を使用しています。

ここから StaggeredGridView ライブラリとデモをダウンロードしました: https://github.com/maurycyw/StaggeredGridViewDemo https://github.com/maurycyw/StaggeredGridView

そのグリッドビュー全体に対して PullToRefresh が必要です

皆さんありがとう

4

2 に答える 2

3

StaggeredGridViewChris Banes Android-PullToRefresh のサポートが追加されました。の Actionbar-PullToRefreshもサポートしActionBarSherlockます。

于 2013-11-01T08:18:27.843 に答える
0

グリッドビューを 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>

onViewCreated に gridview の onScroll リスナーを追加します。リフレッシュを有効にする条件を設定します。

    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);
    }
于 2015-08-19T14:19:31.373 に答える