android - How to use progress dialog with AsyncTask and fragment? -


i want use progressdialog within fragment asynctask. activity following code works perfectly, fragment no.

public class resulttask extends asynctask<string, void, report> {      private progressdialog pdialog;     private context context;      public resulttask(context context) {         super();         this.context = context;      }      @override     protected void onpreexecute() {         super.onpreexecute();         pdialog = new progressdialog(context);         pdialog.setmessage("loading...");          pdialog.show();     }      @override     protected report doinbackground(string... params) {       //mylong operation      }      @override     protected void onpostexecute(report report) {         pdialog.dismiss();         super.onpostexecute(report);     }  } 

how can fix in simple way ? idea of progressbar, let understand user, long operation processed.

update

here code of fragment, execute asynctask:

resulttask task = new resulttask(getactivity()); report report = task.execute("paramenters").get(); 

and code of activity, select fragment:

private void changeactivity(button button, final fragment fragment) {         button.setonclicklistener(new onclicklistener() {              @override             public void onclick(view v) {                 fragmentmanager fragmentmanager = getfragmentmanager();                 fragmentmanager.begintransaction()                         .replace(r.id.container, fragment).commit();             }         });      } 

if use .get() asynctask going wait there until result not arriving, case ui thread blokced, while task running. use .execute , use handlers communicate task. in case, don`t need handler, because onpre , onpost methods related ui, doinbackground not :)

http://developer.android.com/reference/android/os/asynctask.html#get()

article: http://www.vogella.com/tutorials/androidbackgroundprocessing/article.html


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -