SwipeRefreshLayoutを使用してページを自動的にリフレッシュ

1747 ワード

まず、SwipeRefreshLayoutにlistenerを設定します.SwipeRefreshLayout.setOnRefreshListener(this);
次にActivityにonRefresh()メソッドを実装させます.
   @Override
    public void onRefresh() {
        //       ,    
        loadData();
    }

oncreate()メソッドでSwipeRefreshLayoutを開きます.
SwipeRefreshLayout.post(new Runnable() {
            @Override
            public void run() {
            //         onRefresh
               SwipeRefreshLayout.setRefreshing(true);
                //      
                onRefresh();
            }
 });

特に注意:SwipeRefreshLayout.setRefreshing(true);このコードはonRefreshをトリガーしません
適切な場所でSwipeRefreshLayoutを閉じるには、次のようにする必要があります.
SwipeRefreshLayout.post(new Runnable() {
                    @Override
                    public void run() {
                        //      
                                         SwipeRefreshLayout.setRefreshing(false);
                    }
});

これで済んだら、それはいけませんよ.通常、ページを開いたばかりのときにローカルキャッシュのデータを表示してから、ネットワークデータを要求し、成功した後に新しいデータを表示します.うん.