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