Revenir à une activité précédente contenant un BaseAdapter
Fermé
Christian95
-
Modifié le 7 juin 2017 à 13:53
BunoCS Messages postés 15505 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 5 février 2025 - 9 juin 2017 à 11:02
BunoCS Messages postés 15505 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 5 février 2025 - 9 juin 2017 à 11:02
A voir également:
- Revenir à une activité précédente contenant un BaseAdapter
- Revenir à la ligne dans une cellule excel mac - Guide
- Comment revenir à l'écran normal ? - Guide
- Activité instagram - Guide
- Revenir à windows 10 - Guide
- Revenir en arrière clavier - Guide
3 réponses
BunoCS
Messages postés
15505
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
5 février 2025
3 913
7 juin 2017 à 13:56
7 juin 2017 à 13:56
Re,
Si tu veux pouvoir gérer le bouton "Précédent", il ne faut pas appeler la méthode
Si tu veux pouvoir gérer le bouton "Précédent", il ne faut pas appeler la méthode
finish()dans la 1ère Activity
BunoCS
Messages postés
15505
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
5 février 2025
3 913
8 juin 2017 à 10:15
8 juin 2017 à 10:15
Désolé, j'ai du mal à comprendre.
Généralement, pour des listes "simples", on traite la callback de click dans l'Activity, c'est-à-dire que l'Activity étend l'interface OnClickListener et peut stocker des infos récupérer dans la callback onClick()
En revenant sur la première activité, j'aimerai pouvoir récupérer l'état dans lequel je l'ai laissé.Ce n'est pas le cas? Ton écran change?
Généralement, pour des listes "simples", on traite la callback de click dans l'Activity, c'est-à-dire que l'Activity étend l'interface OnClickListener et peut stocker des infos récupérer dans la callback onClick()
Non à l'heure actuelle quand je reviens sur ma première activité, je perds toute mes informations.
Par exemple: Pour la donnée "infos_user" sur ma première activité j'ai Bonjour null ! :
De même pour la CustomList dans mon BaseAdapter, elle n'apparait pas.
Par exemple: Pour la donnée "infos_user" sur ma première activité j'ai Bonjour null ! :
infos_user = (String) getIntent().getSerializableExtra("infos_user");
tv_signin_success.setText("Bonjour " + infos_user + "!");
De même pour la CustomList dans mon BaseAdapter, elle n'apparait pas.
BunoCS
Messages postés
15505
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
5 février 2025
3 913
Modifié le 9 juin 2017 à 11:07
Modifié le 9 juin 2017 à 11:07
Ok, j'ai compris! ;)
Dans ta 2e Activity, tu as ça:
Tu relances donc une nouvelle Activity et tu ne reviens pas sur la précédente. Et vu que tu ne passes pas de paramètres à l'Intent, tu as un écran vide.
Je t'ai indiqué ici comment revenir à l'écran précédent. Or, je ne le vois pas dans ton code...
2 solutions donc.
Pour revenir à l'écran précédent, cela suffit:
Pour passer des paramètres à l'écran précédent, il faut passer par un Intent:
Mais ceci implique 2 choses:
- lancer la 2nde Activity à l'aide de
- récupérer le résultat de retour en surchargeant
Plus d'infos ici: https://developer.android.com/training/basics/intents/result.html
Note: ton problème n'a effectivement rien à voir avec ton Adapter.
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
Dans ta 2e Activity, tu as ça:
@Override public void onClick(View v) { Intent myIntent = new Intent(GetLearningGoalsList.this, GetChildrenList.class); myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(myIntent); return; }
Tu relances donc une nouvelle Activity et tu ne reviens pas sur la précédente. Et vu que tu ne passes pas de paramètres à l'Intent, tu as un écran vide.
Je t'ai indiqué ici comment revenir à l'écran précédent. Or, je ne le vois pas dans ton code...
2 solutions donc.
Pour revenir à l'écran précédent, cela suffit:
@Override public void onClick(View v) { finish(); }
Pour passer des paramètres à l'écran précédent, il faut passer par un Intent:
@Override public void onClick(View v) { Intent output = new Intent(); output.putExtra(...); output.putExtra(...); setResult(RESULT_OK, output); finish(); }
Mais ceci implique 2 choses:
- lancer la 2nde Activity à l'aide de
startActivityForResult()
- récupérer le résultat de retour en surchargeant
onActivityResult()
Plus d'infos ici: https://developer.android.com/training/basics/intents/result.html
Note: ton problème n'a effectivement rien à voir avec ton Adapter.
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
8 juin 2017 à 10:00
A aucun moment je n'appelle dans la 1ère activité ni dans le BaseAdapter sauf sur le mais à l'heure actuelle il n'est pas utilisé.