Bonjour.
Savez vous quelle fonction est utilisé lorsqu'on quitte une sous activité, pour revenir a l'activité principale ?
Merci si vous pouvez m'aider.
Bonjour.
Savez vous quelle fonction est utilisé lorsqu'on quitte une sous activité, pour revenir a l'activité principale ?
Merci si vous pouvez m'aider.
Heu... aucune c'est la base....
Sinon, si A a besoin d'être notifié spécifiquement du retour de B il faut utiliser startActivityForResult
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Activité A: startActivity(B) A.onSuspend() A.onStop() B.onCreate() B.onStart(); B.onResume() => on est dans B. Activité B: finish(); B.onSuspend() B.onStop() A.onStart() A.onResume() => on est de retour dans A.
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 Activité A: startActivityForResult(B) A.onSuspend() A.onStop() B.onCreate() B.onStart(); B.onResume() => on est dans B. Activité B: setResult(); finish(); B.onSuspend() B.onStop() A.onStart() A.onResume() A.onActivityResult() => on est de retour dans A.
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
Et surtout
Pour compléter Nicroman:
Tu peux notifier dans ton manifest ton activté parente
http://developer.android.com/guide/t...y-element.html
De ce fait il ira a l'activité parente lors d'un retour sur la navigation
Code : Sélectionner tout - Visualiser dans une fenêtre à part android:parentActivityName="string"
Elle est présente sur la library support faut juste lui ajouter une meta datathis attribute was introduced in API Level 16.
Responsable Android de Developpez.com (Twitter et Facebook)
Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.
Merci, Nicroman.
Ca ne marche pas...En fait j'essaye simplement d'écrire un score depuis ma sous activité pour l'afficher dans l'activité principale dès qu'on y revient.
Ca donne ceci dans ma sous activité :
- on écrit le score avant de quitter :
retour a mon activité principale, on lit le score avec onstart :
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 @Override protected void onStop() { int val = gameContent.builder.score ; gameContent.destroyDrawingCache(); BufferedWriter writer = null; try { writer = new BufferedWriter(new OutputStreamWriter(openFileOutput("demo01", Context.MODE_PRIVATE))); writer.write("meilleur score : " + val ); } catch (Exception e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } super.onStop(); }
Ce qui se passe, c'est que le score précédent s'affiche et non le dernier établi dans la sous activité.
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 @Override protected void onStart() { BufferedReader input = null; try { input = new BufferedReader(new InputStreamReader(openFileInput("demo01"))); String line; StringBuffer buffer = new StringBuffer(); while ((line = input.readLine()) != null) { textView2 = (TextView)findViewById(R.id.score ); textView2.setTextSize(32); textView2.setText(line); //buffer.append(line); } } catch (Exception e) { e.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } super.onResume(); super.onStart(); }
Il faut que tu passes tes données depuis un Bundle qui sera récupérer dans ton activité principale.
Et non par un fichier ....
http://developer.android.com/referen.../Activity.html
Tu as la doc dans Starting Activities and Getting Results
Responsable Android de Developpez.com (Twitter et Facebook)
Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.
Merci Feanorin.
J'ai du mal a saisir comment on fait ?
Bonjour,
Bah, à partir de l'activity principale tu lances l'activity secondaire avec la méthode startActivityForResult. Ensuite, dans l'activity secondaire, pour renvoyer le score vers l'activity principale tu enregistres ce score dans un Bundle et tu attaches ce bundle au resultat à à renvoyer. Pour finir, dans l'activity principale tu récupères le bundle renvoyé par l'activity secondaire puis tu le traites comme tu veux...
Christian,
Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...
Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
Tu peux trouver la réponse à ta question dans la FAQ
Retrouvez mon tutoriel sur la consommation des services web SOAP
Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.
Merci, MasterMbg...
Pourrais tu être un peut plus précis s.t.p ?
Comment fait-on pour enregistrer le score dans un Bundle et tu l'attacher a ce bundle au résultat à à renvoyer ?
As tu lu le lien donné par masterBG ?
http://developer.android.com/trainin...ts/result.html
On peut difficilement faire plus en terme d'explication
Ok, merci, j'avou que j'ai un peu de mal avec l'anglais.
Alors si j'ai bien compris, j'attache une valeur dans l'activité principale :
ensuite je modifie cette valeur depuis ma sous activité :
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 Bundle extras; @Override protected void onCreate(Bundle savedInstanceState) { ... extras = new Bundle(); extras.putInt("key1", 7 ); ... } @Override public void onClick(View v) { Intent intent = new Intent(this, Activity2.class); intent.putExtras(extras); this.startActivityForResult(intent, 1); }
sauf que quand je reviens a mon activité principale, ma valeur reste celle du départ, a savoir 7...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle extras = getIntent().getExtras(); extras.putInt("key1", 1717 ); }
Ai-je oublié quelque chose ?
Merci si vous pouvez m'aider.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager