7
votes

Devrais-je toujours terminer une activité avant d'aller à un autre?

Appelez-vous toujours terminé () sur une activité avant d'aller à une autre activité?

Par exemple, afin d'empêcher l'utilisateur d'aller à l'activité précédente via un bouton de retour mobile, certaines personnes suggèrent que vous devriez terminer toutes les activités, à l'exception de la principale. De cette façon, le bouton arrière vous ramène toujours à l'activité principale (ou à toute autre activité que vous pensez qu'un utilisateur doit être navigue). Ceci est fait en remplacement du comportement du bouton arrière.

Une mauvaise chose de ceci est quand il existe une boîte de dialogue du gestionnaire qui tente de fonctionner après l'activité terminée (http://dimitar.me/androïd-displaying-dialogs-de-background-threads/).

Quelle est votre règle de base sur cette question? Appelez Terminer () sous une manière plus intelligente ou sur le bouton arrière du dos pour diriger l'utilisateur à la page de votre choix?


0 commentaires

3 Réponses :


5
votes

Si vous avez compris le flux de travail d'une application Android, il n'est pas nécessaire de remplacer le bouton arrière (à l'exception de certains cas spéciaux tels que des jeux, par exemple).

Si vous ne voulez pas que l'utilisateur redevienne à l'activité précédente, terminez-le. Il ne devrait pas y avoir besoin de remplacer le bouton arrière de cela. xxx


2 commentaires

Mais si un utilisateur présente le bouton arrière dans une activité A et va à l'activité B, l'activité A reste active, non? Où suggérez-vous de terminer l'activité dans de tels cas? une pause ou quelque part ailleurs?


Dans ce cas, vous le termineriez dans le OnStop () -Method.



1
votes

Si vous ne voulez pas que le bouton arrière accède à l'activité actuelle à l'arrière, appuyez sur l'activité.

Si vous avez une boîte de dialogue ouverte, épousez la méthode de l'activation de l'activité et fermez la boîte de dialogue. L'onpaause sera appelée lorsque l'activité se transforme.

Nous ne domingeons que la méthode OneBackPressed lorsque nous devons faire quelque chose de spécifique autrement dans des cas normaux, nous ne le laissons tout simplement pas.


3 commentaires

Je ne comprends pas. Pourquoi remplacer l'onpause lorsque je peux avoir un bouton dans la boîte de dialogue et appeler dialogique.dismiss ()?


Il existe des situations lorsque l'utilisateur peut laisser l'activité comme en appuyant sur le bouton Accueil ou une notification. Dans ces cas, vous pouvez masquer la boîte de dialogue dans la méthode d'Onpause.


Parlez-vous de la boîte de dialogue dans le cadre de l'activité, car il est également masqué lorsque vous appuyez sur le bouton Accueil.



0
votes

Si vous souhaitez ouvrir une autre activité et que vous souhaitez terminer l'activité précédente, utilisez la finition (); fonction après avoir appelé l'intention d'une autre activité.

Il finira l'activité actuelle et ouvrira la nouvelle activité.


0 commentaires