Ho un'attività che mostra ProgressDialog durante la connessione al dispositivo bluetooth. Funziona bene fino a quando l'orientamento dello schermo cambia mentre ProgressDialog è attivo. ProgressDialog scompare e quando viene stabilita la connessione, l'app chiama progressDialog.dismiss(); a questo punto l'app si arresta in modo anomalo perché non c'è ProgressDialog da eliminare. Come posso impedire a ProgressDialog di ignorare mentre l'orientamento dello schermo cambia?Come impedire a ProgressDialog di ignorare il cambio di rotazione dello schermo in Android?
public void prepareViews(int ID, boolean state){
switch(ID){
case USERNAME_TEXTBOX:
LoginUsernameTextBox.setEnabled(state);
break;
case PASSWORD_TEXTBOX:
LoginPasswordTextBox.setEnabled(state);
break;
case LOGIN_BUTTON:
LoginButton.setEnabled(state);
break;
case LOGIN_PROGRESSBAR:
if(state == true){
LoginProgressBar.setVisibility(View.VISIBLE);
LoginProgressBar.setIndeterminate(true); }
else{
LoginProgressBar.setVisibility(View.GONE);
}
break;
case CONNECTING_DIALOG:
if(state == true){
progressDialog = ProgressDialog.show(MainActivity.this, "", "Connecting", true); }
else{
progressDialog.dismiss();
}
break;
}
}
Idealmente, per nasconderlo dovresti chiamare i metodi sul frammento della finestra di dialogo invece che su 'progressDialog' per mantenere l'implementazione del frammento di dialogo separato dall'attività. Cioè nel caso in cui si desideri modificare il modo in cui il frammento di dialogo visualizza le informazioni senza dover modificare anche l'attività. – frozenkoi