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 :

Retour arrière après un zoom


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    infirmier
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : infirmier

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut Retour arrière après un zoom
    Bonjour à tous,

    Dans mon application, je clique sur des images pour les agrandir mais quand je fais un retour arrière pour revenir à la page initiale, je me retrouve deux pages en arrière.
    Je ne sais pas comment faire.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @Override
    		protected void onCreate(Bundle savedInstanceState) {
    			super.onCreate(savedInstanceState);
    			setContentView(R.layout.anat_cardio);
    			textView = (TextView)  findViewById(R.id.textViewcoeur);
    			textView.setText(Html.fromHtml(getResources().getString(R.string.coeur_generalites)));
    			b = (ImageView) findViewById(R.id.imageView2);
    			b.setOnClickListener(this);
     
    }
    		@Override
    		 public void onClick(View v) {
    			setContentView(R.layout.schema_anat_cardio);
     
     
    		}
    Merci par avance de ce que vous pourrez faire pour moi.
    cordialement

  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
    Au vu de ton code, c'est tout a fait normal.

    Voici ce que tu fais :
    A -- {aucune idée} --> B -- {clic sur image} --> B -- {retour} --> A

    Tu passes bien de ta première à ta seconde Activity, puis sur la seconde, tu changes simplement son contenu au clic. Il est donc normal de revenir vers A suite à l'appui du bouton "retour".

    Si tu veux pouvoir revenir sur B normalement, il faut soit que tu captes le bouton "retour", détecte dans quel cas tu te trouves et fasse ensuite la bonne action (restaurer le layout ou revenir en arrière), soit que tu lances une nouvelle Activity (ou un nouveau Fragment) pour représenter ton image.
    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
    infirmier
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : infirmier

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut
    Merci de ta réponse, alors j'ai essayé de coder tout ça mais j'ai du faire une erreur, car quand je clique sur l'image, pas de soucis
    et quand je fais un retour arrière, là il fait 2 retours arrière dc page que je veux puis page encore d'avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    public class CardioAnat extends MainActivity implements Button.OnClickListener{
    	private TextView textView = null;
    	private ImageView b = null;
     
     
    		@Override
    		protected void onCreate(Bundle savedInstanceState) {
    			super.onCreate(savedInstanceState);
    			setContentView(R.layout.anat_cardio);
    			textView = (TextView)  findViewById(R.id.textViewcoeur);
    			textView.setText(Html.fromHtml(getResources().getString(R.string.coeur_generalites)));
    			b = (ImageView) findViewById(R.id.imageView2);
    			b.setOnClickListener(this);
     
    }
    		@Override
    		 public void onClick(View v) {
    			setContentView(R.layout.schema_anat_cardio);
     
     
    		}
     
    		@Override
    		public boolean onKeyDown(int keyCode, KeyEvent event) {
     
    			if (keyCode == KeyEvent.KEYCODE_BACK) {
    	//tu met la dedans ce que tu veux que ton boutton retour fait
    				setContentView(R.layout.anat_cardio);
     
    			}
     
    			return super.onKeyDown(keyCode, event);
     
    		}
     
    		@Override
    		public boolean onCreateOptionsMenu(Menu menu) {
    			// Inflate the menu; this adds items to the action bar if it is present.
    			getMenuInflater().inflate(R.menu.main, menu);
    			return true;
    		}
    }

  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
    Normal

    La méthode pour capter le bouton retour est onBackPressed.

    A voir, un truc comme ça fonctionnera peut-être, mais je ne garanti pas (non-testé) et j'ai un gros doute sur les entrées utilisateurs futur.

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    public class CardioAnat extends MainActivity implements Button.OnClickListener{
    	private TextView textView = null;
    	private ImageView b = null;
     	private boolean hasSelectedPicture = false;
     
    		@Override
    		protected void onCreate(Bundle savedInstanceState) {
    			super.onCreate(savedInstanceState);
    			setContentView(R.layout.anat_cardio);
    			textView = (TextView)  findViewById(R.id.textViewcoeur);
    			textView.setText(Html.fromHtml(getResources().getString(R.string.coeur_generalites)));
    			b = (ImageView) findViewById(R.id.imageView2);
    			b.setOnClickListener(this);
     
    }
    		@Override
    		 public void onClick(View v) {
    			setContentView(R.layout.schema_anat_cardio);
     			hasSelectedPicture = true;
     
    		}
     
     
    		@Override
    		public void onBackPressed() {
     
    			if (hasSelectedPicture) {
    				hasSelectedPicture = ! hasSlectedPicture;
    				setContentView(R.layout.anat_cardio);
    			} else {
    				super.onBackpressed();
    			}
     
    		}
     
    		@Override
    		public boolean onCreateOptionsMenu(Menu menu) {
    			// Inflate the menu; this adds items to the action bar if it is present.
    			getMenuInflater().inflate(R.menu.main, menu);
    			return true;
    		}
    }
    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
    infirmier
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : infirmier

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut
    Merci ça fonctionne nickel.

    Quand je suis sur ma page de cours, que je clique sur l'image pour l'agrandir et que je fais le retour arrière pour retourner au cours, pas de soucis.
    Par contre une fois revenu sur ma page de cours, je ne peux plus recliquer sur l'image c'est normal??
    On peut y remédier?

  6. #6
    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
    Je me doutais que tu aurais ce souci...

    Là, tu as de nouveau deux possibilités
    • mettre dans une méthode les lignes du layout original avec la mise en place des listener
    • mettre en place une autre Activity que tu lanceras pour voir l'image


    Je te suggère la seconde méthode, qui est plus naturelle, et tu n'auras plus besoin de gérer manuellement le retour arrière.
    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

  7. #7
    Membre averti
    Homme Profil pro
    infirmier
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : infirmier

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut
    Merci beaucoup.
    C'est ce que je vais faire.

    Je classe en résolu.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/03/2014, 14h16
  2. OE 7.0: retour arrière après modification d'un fichier view XML
    Par DiegoM dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 02/01/2014, 17h10
  3. Réponses: 4
    Dernier message: 25/08/2010, 13h07
  4. faire un retour en arrière après tri sur Excel
    Par homerlehamster dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2010, 13h33
  5. Réponses: 5
    Dernier message: 06/02/2008, 04h38

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