I have an activity, composed of an AsyncTask aiming to launch a request when the user clicks on the button. I have been looking for answers, but I didn't find the same problem, or it didn't the same for me. The code is doing what I want, but the ProgressDialog looks blocked as the spinner is not turning sometimes (almost all the time).

When I click on the button :

AsyncTask is launched -> showDialog() is called onPreExecute -> startSearch ( SearchManager launches a new AsyncTask with in the doInBackground there is a heavy call with network ) -> doInBackground in Activity waits for SearchManager to be loaded -> display.

**Code for button :**

```
button_search.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                new SearchTask().execute();

            }
        });

```

**Code for AsyncTask in Search Activity :**

```
private class SearchTask extends AsyncTask<Void,Void,Void>{

        @Override
        protected void onPreExecute(){
            showDialog(DIALOG_LOADING_ID);

            searchManager.startSearch();
        }

        @Override
        protected Void doInBackground(Void... params) {

            while(searchManager.isLoading()){
                try {Thread.sleep(150);} catch(Exception e){};
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void ret){
            try {dismissDialog(DIALOG_LOADING_ID);} catch (Exception e){};

            if ( searchManager.errorOccurred() ){
                //Error
            } else {
                //No Error

            }   
        }

```

**Code for SearchManagerAsyncTask : which is directly launched by startSearch**

```
protected class SearchAsync extends AsyncTask <Void,Void,Void>{

        @Override
        protected Void doInBackground(ComSearchAds... datas) {
            global.getDataManager().doSearch();
                        //... When finished
                        setIs_loading(false);
                }
}

```

I'm apparently doing something wrong, but can't find what and how to avoid this. Thanks for your help !

**SOLUTION :** 

Finally, it appears that the not spinning ProgressDialog was because I was using the same instance of ProgressDialog and 

```
showDialog(DIALOG_LOADING_ID); 
//doInBackground
dismissDialog(DIALOG_LOADING_ID);

```

used with causes problem, I changed to 

```
removeDialog(DIALOG_LOADING_ID)

```

and now it's working fine. 

Thanks All, and hope it can help someone someday !