Android progressDialog не показывает, если startActivity (myIntent) - PullRequest
0 голосов
/ 12 декабря 2011

Я использую этот простой код

public class Main extends Activity {
private ProgressDialog progressDialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  //bouton Exemples de prix
    findViewById(R.id.button1).setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) {
                    //start the progress dialog
                    runDialog(4);
                Intent myIntent = new Intent(getBaseContext(), Exemple_prix.class);
                    startActivity(myIntent);

                }
            }
    );  

}

private void runDialog(final int seconds)
{
    progressDialog = ProgressDialog.show(this, "", "Chargement...");

    new Thread(new Runnable(){
        public void run(){
            try {
                Thread.sleep(seconds * 1000);
                progressDialog.dismiss();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }).start();
}

progressDialog не отображается, но работает, если я отключаю

//startActivity(myIntent);

1 Ответ

2 голосов
/ 12 декабря 2011

Ваше диалоговое окно прогресса связано с действием, поэтому оно отображается поверх первого действия, а затем вы сразу же запускаете новое действие, которое охватывает как старое действие, так и диалоговое окно прогресса.Есть ли конкретная причина, по которой вы показываете диалог прогресса?Если это связано с работой во втором упражнении, вы должны показать это там вместо этого.

На заметке не создавайте новую ветку просто для того, чтобы спать так.Просто используйте postDelayed.

...