Aller au contenu

Button back, Passer d'une vue à une autre


gogui63

Recommended Posts

Bonjour, je n'arrive pas à faire un truc surement tout simple ...

J'ai une activity avec une listview et cette listview ne fait que charger d'autres vues (en gros plusieurs textview) mais j'aimerais que quand l'utilisateur appuie sur la touche retour il revienne sur la vue où il y a mes listView (en vérité l'activité déjà en action) et non l'accueil de mon application (l'activity précédente)

 

Comment faire ?

                    if(map.get("numero").equals("1")) {
                        setContentView(R.layout.text1);
                        return;
                    } 

 J'ai essayé diverses manip avec le onbackpressed

en gros j'aimerais faire : 

 

if(map.get("numero").equals("1")) {
setContentView(R.layout.text1);

if(onBackPressed()){
finish();

}

Modifié par gogui63
Lien vers le commentaire
Partager sur d’autres sites

L'appui sur la touche retourne ferme l'Activity courante. Comme tu ne créé pas d'Activity, mais remplace simplement la vue de l'Activity, c'est normal que tu reviennes vers l'accueil de ton appli. Il serait plus simple (et plus logique) que tu ouvres une nouvelle Activity lorsque tu cliques sur un élément de la ListView. Autrement, comme le suggère Vbarthel, tu peux implémenter la méthode onBackPressed pour intercepter l'appui sur la touche retour, et faire en sorte de réafficher la ListView le cas échéant

Lien vers le commentaire
Partager sur d’autres sites

Si tu ne souhaites pas lancer une autre activité, tu peux également t'orienter vers l'utilisation des fragments, représentant une portion de ta vue: il te suffit d'appeler la méthode addToBackStack lors de la FragmentTransaction pour que le bouton "back" annule la transaction et donc revienne à une vue précédente:

 

http://developer.android.com/reference/android/app/FragmentTransaction.html#addToBackStack(java.lang.String)

 

Le guide sur l'utilisation des fragments:

http://developer.android.com/guide/components/fragments.html

Lien vers le commentaire
Partager sur d’autres sites

Je vais , je pense me pencher sur les fragments car je ne trouve pas ça forcément utile de créer une autre activité pour un simple contentView en tout cas merci pour la réactivité !

 

Et dans le deuxieme cas, si je fais une nouvelle class pour chaque item de ma listview ( ça fait 23 class en plus ) ça ne risque pas d'alourdir mon apk finale ?

Modifié par gogui63
Lien vers le commentaire
Partager sur d’autres sites

En général, on n'a qu'une seule Activity pour tous les items de la ListView, seul le contenu (les données affichées) change en fonction de l'élément sélectionné. Si tu as vraiment besoin d'implémentation d'Activity différentes, alors forcément, oui, ça va (un peu) alourdir ton apk (mais ce sera pareil avec des Fragments).

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...