Nice, the dialog appear but DoSometing() crash for some reason. At least the logic work, let me check on the DoSomething(). It was ok w/o running as thread.
Many thanks. On Jul 31, 1:17 pm, paulb <pbizan...@gmail.com> wrote: > Actually, I meant to write runInUIThread instead of closeLoadingDialog > in the handler.post statement > > > > On Sat, Jul 31, 2010 at 3:16 PM, paulb <pbizan...@gmail.com> wrote: > > Hello Mystique, > > > When this code starts the thread, it then goes straight back to > > execute DoSomeTask() while the thread is running, and so most of the > > time the dialog will be shown after DoSomeTask. > > > Maybe you meant to do something like this: > > > ProgressDialog dialog; > > > final Runnable runInUIThread = new Runnable() { > > public void run() { > > dialog.dismiss(); > > } > > } > > > �...@override > > public void onClick(View v) { > > // TODO Auto-generated method stub > > > dialog = new ProgressDialog(CloseVault.this); > > dialog.setMessage("Please wait..."); > > dialog.show(); > > > Thread myTask = new Thread() { > > �...@override > > public void run() { > > DoSomeTask(); > > handler.post(closeLoadingDialog); > > } > > }; > > myTask.start(); > > } > > > You are right, though, ASyncTask is a nicer way of doing it. > > > On Sat, Jul 31, 2010 at 2:52 PM, Mystique <joven.ch...@gmail.com> wrote: > >> Hi, > >> I'm trying to learn AsyncTask and Thread but Thread first... > >> I am trying to display a Dialog before "DoSomeTask()" but seems like > >> the Dialog always come after DoSomeTask(). > >> Did I do something wrong here? > > >> Thanks. > > >> --- code--- > > >> @Override > >> public void onClick(View v) { > >> // TODO Auto-generated method stub > > >> mainProcessing(); > >> DoSomeTask(); > >> } > > >> private void mainProcessing() { > >> Thread thread = new Thread(null, doBackgroundThreadProcessing, > >> "Background"); > >> thread.start(); > >> } > > >> private Runnable doBackgroundThreadProcessing = new Runnable() { > >> public void run() { > >> backgroundThreadProcessing(); > > >> } > >> }; > > >> private void backgroundThreadProcessing() { > >> handler.post(doUpdateGUI); > >> } > > >> private Runnable doUpdateGUI = new Runnable() { > >> public void run() { > >> updateGUI(); > >> } > >> }; > > >> private void updateGUI() { > >> final ProgressDialog dialog = new > >> ProgressDialog(CloseVault.this); > >> dialog.setMessage("Please wait..."); > >> dialog.show(); > >> } > > >> -- > >> You received this message because you are subscribed to the Google > >> Groups "Android Developers" group. > >> To post to this group, send email to android-developers@googlegroups.com > >> To unsubscribe from this group, send email to > >> android-developers+unsubscr...@googlegroups.com > >> For more options, visit this group at > >>http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en