ProgressDialog během zpracování dat ve třídě odvozené od DialogPreference rubrika: Programování: Android

2 petrf
položil/-a 21.10.2016

Ahoj všem.

Potřebuji popostrčit správným směrem.
V SettingsActivity mám dialog odvozen od DialogPreference, který normálně funguje. Problém je v tom, že dialog zobrazuje data načítaná z internetu a potřeboval bych zobrazit ProgressDialog, aby uživatel viděl, že se načítají data v nastavení aplikace.
Bohužel se mi ProgressDialog nezobrazí.
Co jsem vyzkoušel:
1) První pokus: Ve třídě odvozené od DialogPreference vyvolám vytvoření dialogu ve funkci onCreateDialogView

public class AsyncDialogPreference extends DialogPreference  {    
    // ...
    protected View onCreateDialogView() {
        View view = super.onCreateDialogView();
        // ...
        progressDialog = ProgressDialog.show(view.getContext(), "Loading", "Wait while loading...");
 
        // start async task
 
        return view;
    }
    // ...
}

2) Druhý pokus: ProgressDialog jsem doplnil do asynchronního tasku

class DownloadDataAsync extends AsyncTask<Void, Void, Void>{
    private ProgressDialog progressDialog = null;
 
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog = ProgressDialog.show(getContext(), "Loading", "Wait while loading...");
    }
 
    protected Void doInBackground(Void... arg0) {
        // download data
        return null;
    }
 
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        progressDialog.dismiss();
    }
}

Ani jedno nedělá to, co bych očekával.
Nemáte někdo nějaký nápad?

Díky Petr

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.