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 <[email protected]> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en