onCreate: show the progress dialog in the main thread. spawn your thread when the thread completes, call dismiss() on the progress dialog from the Thread using an Handler: Handler mHandler = new Handler(); in the main thread mHandler.post(new Runnable() { @Override public void run() { mProgressDialog.dimiss(); } }); in your thread when it completes.
You can also make intermediate refreshes if the operation is very long, for example if you use a list view, you can post a refresh when adding a new element. Beware, when you call a function in another thread than the main one that affect the UI, always use the Handler technique. It should do the trick. 2008/11/7 joshbeck <[EMAIL PROTECTED]> > > First, thanks. > I tried blocking the main thread, and quickly determined it wasn't > a good idea. Didn't solve anything, but hey at least I know now. > > Here's what I'm working on: > I have an application. > It downloads a bunch of data and then loads that data into variables > which > are used to present the user with an initial display. > > If I load the variables and show the display the screen just goes > black for like > 20-30 seconds. > > If I background the thread, the variables aren't loaded prior to the > display being drawn. > > Ideally, I'd like to use the progressbar to show a loading screen, > but the loading bar > doesn't show up unless the primary view is ready. > > I'm think the solution is to have the program start an initial > activity that is small and prompts > the user for a button press. That button press then activates a thread/ > progress bar which > in turn uses an intent to open the "primary" view. > > Make sense? > > If I have two separate activity files working in the same project, can > I create public variables that are shared? > > Thanks, > Josh Beck > > > > On Nov 6, 1:44 pm, Guillaume Perrot <[EMAIL PROTECTED]> wrote: > > You should not use the following in your case but there is a simple > > way to wait for a thread to complete, it's the Thread.join() function. > > This should be called only in a background thread which need to > > synchronize with another background thread for some reason. > > You should (i'd say must) never call blocking functions in the main > > thread. > > > > On Nov 6, 8:53 am, hackbod <[EMAIL PROTECTED]> wrote: > > > > >http://code.google.com/android/intro/appmodel.html > > > > > The last section is on threads, though it's strongly recommended you > > > read the whole thing. > > > > > On Nov 5, 9:58 pm, joshbeck <[EMAIL PROTECTED]> wrote: > > > > > > I'm fairly new at this and just to the point where threading makes > > > > sense. > > > > So, my my main process is also considered a thread? > > > > > > True --- False > > > > > > I write a simple HelloWorld.java program. > > > > This program has 1 thread, the main flow of execution. > > > > > > ? > > > > > > Thanks, > > > > Josh > > > > > > On Nov 5, 7:26 pm, hackbod <[EMAIL PROTECTED]> wrote: > > > > > > > If the thread takes a while to complete, your main application > thread > > > > > probably shouldn't wait for it to complete... otherwise, what's > the > > > > > point of putting that work in the thread, if you're just going to > > > > > block on it at some point. > > > > > > > Instead, consider using a Handler to post a message back to the > main > > > > > thread when the background thread has finished its work. > > > > > > > On Nov 5, 3:54 pm, joshbeck <[EMAIL PROTECTED]> wrote: > > > > > > > > I have a function that utilizes a thread. > > > > > > > > A variable the is needed for the program is populated after the > thread > > > > > > call is made. > > > > > > > > The thread takes a while to complete. > > > > > > > > How can I make the program wait for a thread to complete before > moving > > > > > > on? > > > > > > > > Thanks, > > > > > > Josh Beck > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---