IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Fermeture et ouverture activity


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    informatique, aikido
    Inscrit en
    Février 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : informatique, aikido
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 42
    Par défaut Fermeture et ouverture activity
    Bonjour à tous, je débute en java et voulais vous soumettre un petit problème.
    J'ai fait une application qui comporte trois activity avec un bouton sur la 1º pour accéder à la 2º et un bouton sur la 2º pour accéder à la 3º.
    si je ferme l'application quand je suis sur la 2º ou la 3º , quand je vais la rouvrir elle sera toujours sur la 2º ou la 3º alors que je voudrais qu'elle se rouvre sur la 1º.
    Comment puis-je régler se problème ?
    Merci d'avance

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    J'imagine que par "fermer" tu entends "appuyer sur le bouton home", c'est bien ça ?
    Tu as le comportement normal d'une application Android, qui garde en l'état une application laissée pour une autre, car celle-ci n'a pas été quittée (qui serait assimilable à une succession de bouton retour pour dépiler les Activity). Pour ton information, c'est à l'encontre des guide lines Google pour Android, ainsi que contre-intuitif pour les utilisateurs, n'étant pas le comportement par défaut.

    Passé ces warning, pour le faire, ne l'ayant jamais réalisé, je pense qu'un moyen de le faire serait d'intercepter le onPause de tes Activity 2 et 3 pour réaliser un finish(); dedans.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre averti
    Homme Profil pro
    informatique, aikido
    Inscrit en
    Février 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : informatique, aikido
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 42
    Par défaut
    Bonjour Hizin merci pour tes infos.
    Je suis un cour android et ça fait beaucoup d'infos à la foi et je m'y perd un peut.
    J'ai un autre doute (je ne sais pas si je dois ouvrir un autre sujet), quand je suis sur la 3ºactivity et que je clique sur le retour du Smartphone je ne reviens pas a la 2º activity sinon à la 1º. J'ai bien révisé mais fichiers et je ne voi pas l'erreur.
    Les autres applis de test que j'ai fait n'avaient pas ce pb. Peut tu me dire ou je dois chercher pour retrouver cette erreur.
    Merci
    JP

    ps: "La ligne de commande UNIX devrait être obligatoire dès la maternelle" (ma signature)

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    C'est le finish dans le onPause, si tu l'as mis.

    onPause fait parti du cycle de vie d'une Activity, jouer avec est toujours un poil complexe. Il y a peut-être une autre méthode du cycle de vie (onStop ?) qui serait plus adapté.
    Il y a peut-être possibilité de jouer avec les flags au niveau des lancements d'Intent, mais je n'ai pas de solution en tête facile à mettre en place pour ça.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre averti
    Homme Profil pro
    informatique, aikido
    Inscrit en
    Février 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : informatique, aikido
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2014
    Messages : 42
    Par défaut
    Ok merci je vais voir du coté de l'Intent car je n'est pas utilisé de onPause ou Stop

  6. #6
    Membre émérite
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Par défaut
    Une solution simple (si ton application reste basique) mais vraiment pas élégante est de ne pas utiliser la pile d'activité;
    Tu accompagne chaque startActivity() d'un finish(), de plus dans chaque activité tu interceptes le bouton "back" ou tu relances a la main l'activité précédente.

    Je suis sur A1 et vais en A2 = je start A2 + je finish A1
    Je suis sur A2 et je fais retour = j'intercepte le back, je start A1 + je finish A2
    Je suis sur A2 et je fais home = j'utilise onPause pour finish A2

    C'est pas un code élégant et pas vraiment maintenable pour une grosse appli, mais c'est fonctionnelle.


    Intercepter le Back :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     
     
        if(keyCode == KeyEvent.KEYCODE_BACK) {
     
        }
    });

Discussions similaires

  1. [XL-2010] Macros sauvegarde / fermeture fichier / ouverture fichier
    Par olive59 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/08/2011, 10h19
  2. [WD-2002] Fermeture et ouverture Word 2002 qui rament !
    Par cramnorg dans le forum Word
    Réponses: 1
    Dernier message: 20/02/2011, 21h16
  3. [AC-2010] Pause avant fermeture et ouverture
    Par scoobydoos dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/11/2010, 14h19
  4. page noire entre fermeture et ouverture de formulaire
    Par adelsunwind dans le forum IHM
    Réponses: 6
    Dernier message: 14/03/2009, 14h30
  5. Réponses: 2
    Dernier message: 07/01/2006, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo