94

I enabled "pull to refresh" to my project using the SwipeRefreshLayout.

When I move down, appear the loading indicator (material design style). I know, it must so work, but I want to disable this function, and start refreshing by click some button and use SwipeRefreshLayout loading indicator.

How I can to do this?

Sufian
  • 6,405
  • 16
  • 66
  • 120

2 Answers2

194

From the documentation:

If an activity wishes to show just the progress animation, it should call setRefreshing(true). To disable the gesture and progress animation, call setEnabled(false) on the view.

So to show the animation:

swiperefreshLayout.setEnabled(true);
swiperefreshLayout.setRefreshing(true);

And to hide the animation:

swiperefreshLayout.setRefreshing(false);
swiperefreshLayout.setEnabled(false);
Handrata Samsul
  • 786
  • 5
  • 10
nhasan
  • 3,634
  • 3
  • 13
  • 5
24

You don't have to always enable and disable. Just disable once when the view is created and then use setRefreshing.

howettl
  • 12,419
  • 13
  • 56
  • 91