1
votes

Est-il possible de garder la boîte de dialogue d'alerte affichée après la destruction de l'activité?

J'ai une logique métier qui nécessite de garder une boîte de dialogue d'alerte affichée lorsqu'une transition se produit et qu'une activité est détruite et une autre créée. L'activité détruite est celle qui lance la boîte de dialogue d'alerte.
J'ai fait quelques recherches par moi-même et je n'ai trouvé aucune solution fiable.
Si vous connaissez une solution ou des solutions de contournement qui pourraient m'aider, ce sera formidable.


4 commentaires

pourquoi ne pas afficher votre boîte de dialogue d'alerte dans la deuxième activité (qui est visible)?


il doit être affiché sur les deux. car il doit être affiché un certain temps lors de la première activité et un certain temps après le début de la deuxième


prendre 1 activité et les écrans comme fragments, afficher le dialogue en activité


Est-il mis en œuvre maintenant


3 Réponses :


0
votes

Vous pouvez essayer de cette façon

public abstract class BaseActivity extends AppCompatActivity {

 protected void showProgressDialog(String message) {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setCancelable(false);
    alert.setTitle("your title");
    alert.setMessage(message);
    alert.create().show();

  }

}

Étend cette BaseActivity dans vos deux activités. appelez la méthode showProgressDialog () pour afficher votre message d'alerte dans FirstActivity et lorsque FirstActivity est détruit puis appelez-le depuis SecondActivity .

J'espère que cela vous aidera. Bon codage.


0 commentaires

1
votes

Je construis généralement ma boîte de dialogue en lui donnant une référence à l'activité en cours. Et c'est ainsi au moins ce que le guide nous dit de faire. Donc ma réponse rapide est NON VOUS NE POUVEZ PAS.

Cependant, une alternative est en place. Au lieu de créer deux activités différentes, placez-les dans deux fragments différents. Chargez-les dans une seule activité où vous pouvez accrocher votre boîte de dialogue. À partir de votre activité, vous pouvez basculer entre vos deux fragments sans avoir à fermer votre boîte de dialogue car l'activité ne sera pas détruite lors du changement de fragment.


2 commentaires

c'était la solution à laquelle j'ai pensé en premier mais l'implémentation actuelle nécessite beaucoup de refactorisation pour la changer, mais ce sera probablement la solution


nous avons tous ce seul patron qui ne comprend pas notre douleur. :)



1
votes

Ceci est ma suggestion pour référence seulement

comme autorisé, vous pouvez commencer par exécuter une activité entièrement transparente, puis définir la boîte de dialogue au niveau du système instant et l'instanciation Dialgo dans votre application personnalisée, et vous pouvez afficher et fermer la boîte de dialogue par votre application

comme cette hiérarchie : TransparentActivity (activité MainLauncher) -> Activity1 -> Activity2

vous pouvez afficher Dialog lorsque Activity1 détruit et le fermer lorsque Activity2 est créé par votre application.

En fait, Dialog est attaché à TransparentActivity , donc vous devez remplacer l'événement du bouton Précédent pour éviter de revenir à TransparentActivity.


0 commentaires