Search code examples
androidandroid-loader

How to stop loader correctly?


I use class which extended Loader. How can I stop my loader after I get result?

When I rotate phone I get result again:

@Override
public void onLoadFinished(Loader<Data> loader, Data data) {
      makeWorkWithData();
      //... finish this loader? (or delete result)
}

Solution

  • Use this:

    @Override
    public void onLoadFinished(Loader<Data> loader, Data data) {
          makeWorkWithData();
          stopLoader(id);
    } 
    
    void stopLoader(int id) {
         getLoaderManager().destroyLoader(id);
    }
    

    And when need make request again call getLoaderManager().restartLoader()...