Search code examples
androidmaterial-designpull-to-refreshswiperefreshlayout

How to disable "pull to refresh" action and use only indicator?


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?


Solution

  • 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);