0

Я хочу отобразить диалоговое окно процесса для определенного времени перед действием, а другие задачи выполняются в фоновом режиме. Я не хочу использовать asynkTask, поскольку я обновляю ui внутри этого метода. пожалуйста, помогитеКак отобразить ProgressDialog при выполнении фоновой задачи?

ответ

4

Посмотрите на ваши AsycTasks методы onPreExecute(...) и onPostExecute(...). Используйте первый, чтобы показать ProgressDialog, а второй, чтобы уволить его, когда задача завершена.

OnPreExecute() будет вызван до того, как начнется фоновый процесс. OnPostExecute() будет вызываться, когда ваша задача будет завершена.

// the below code is inside your asynctask class 

private ProgressDialog pd; 

@Override 
protected void onPreExecute(){ 
    super.onPreExecute(); 

    pd = new ProgressDialog(context); 
    pd.setMessage("Processing..."); 
    pd.show();  
} 

@Override 
protected Void doInBackground(Void... params) { 
    // do stuff 
    return null; 
} 

@Override 
protected void onPostExecute(Void result){ 
    super.onPostExecute(result); 
    pd.dismiss(); 
} 
Смежные вопросы