J'ai 2 activités (A et B) dans mon application Android et j'utilise une intention pour aller de l'activité A à l'activité B. L'utilisation de parent_activity est activée :
<activity
android:name=".B"
android:label="B" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app_name.A" />
</activity>
J'utilise également un thème qui prévoit un bouton UP.
Ainsi, après avoir appelé l'activité B, je peux utiliser le bouton UP pour revenir à l'activité A. Le problème est que l'application semble appeler la fonction onCreate() -fonction de l'activité A à nouveau et ce n'est pas le comportement dont j'ai besoin. J'ai besoin que l'activité A ressemble à ce qu'elle était avant que j'appelle l'activité B.
Existe-t-il un moyen d'y parvenir ?
EDIT
Je n'ai pas écrit de code pour lancer l'activité B à partir de l'activité A. Je pense qu'il est généré automatiquement par Eclipse.
La classe B ressemble :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_b, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
0 votes
Affichez votre code, pour démarrer l'activité A à partir de B..
0 votes
Si je comprends bien, vous pouvez utiliser startActivityForResult() et renvoyer un resultCode ou autre.
0 votes
Veuillez mettre à jour votre réponse correcte étiquetée ! La CORRECTE réponse vient de LorenzCK - pas de l'utilisateur...... ! Le fait de marquer cette réponse comme correcte est trompeur et fait en sorte qu'encore plus de programmeurs comprennent mal la navigation vers le haut par opposition à la navigation vers le bas !
0 votes
Bon sang, il y a tellement de mauvaises réponses ici, pourriez-vous s'il vous plaît aider à nettoyer tout ça... ?
0 votes
@ashiaka - La réponse correcte selon la conception de votre code est mise à jour.
0 votes
Notez que NavUtils.navigateUpFromSameTask(this) ; ne fonctionne correctement que pour les niveaux d'API 15 et inférieurs. Pour les niveaux d'API supérieurs, il recrée l'activité mère. Ceci est expliqué en détail ici, stackoverflow.com/a/14792752/238768
0 votes
Essayez cette solution dans l'activité enfant : stackoverflow.com/a/49980835/7308789