I just figured out a slick workaround for this bug. The progress
dialog stuff is clearly hosed so I just brute force it. I do a
setContentView with the resource
R.layout.tellsuserthatworkingisbeingdone, which tells the user to wait
a moment. Then I give the framework 100 mS to update the screen, then
I start work on the real screen. It works like a champ.

I'm willing to package up and post (on b.android.com) a test project
for the progress dialog bug if Romain and Mark agree that it's a bug.

public class MyActivityClass {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        doBuild(savedInstanceState);
    }

        Bundle SIS;

        protected void doBuild( Bundle savedInstanceState ){
 
setContentView( R.layout.tellsuserthatworkingisbeingdone);
                // This line removed ---
showDialog(drawingProgressDialogId);
                ScreenBuildRunnable sbRunnable = new
ScreenBuildRunnable();
                Handler screenBuildHandler = new Handler();
                SIS = savedInstanceState;
                screenBuildHandler.postDelayed(sbRunnable, 100); //
Wait 100 mS
for progress dialog to get drawn
        }

        private class ScreenBuildRunnable implements Runnable {

                @Override
                public void run() {
                    LinearLayout topLevelLayout = new
LinearLayout(SpreadsheetActivity.this);
                    doDraw( SIS , topLevelLayout );
                    // This line removed
dismissDialog( drawingProgressDialogId );
                    setContentView(topLevelLayout);
                }
        }

-- 
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

Reply via email to