Je pense avoir compris le cycle de vie de l'activité sur Android, mais je n'arrive toujours pas à comprendre pourquoi le suivi se produit.Menu Android partagé entre les activités (non désirées)
- activité Connexion - écran Connexion
- Activité principale - interface de l'application principale
Dans l'activité de connexion, je me connecte à un service pour valider la connexion. Si le mot de passe est correct, je passe à l'activité principale en utilisant:
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
Il n'y a pas de menu Options dans l'activité Connexion. J'ai un menu Options Activité principale que je se gonflent avec:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option, menu);
return true;
}
Jusqu'à présent, si bon. Mais je veux que l'utilisateur puisse se déconnecter et revenir à l'écran de connexion. Ainsi, dans Activité principale J'ai une option dans le menu qui permet de vous déconnecter:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menuReset:
getModel().deleteCredentials // stuff to logout from my service
startActivity(new Intent(this, LoginActivity.class));
finish();
return true;
}
}
Si j'appuie sur ce bouton de menu, l'application affiche à nouveau l'activité Connexion. Mais si j'appuie sur la touche MENU, l'application affiche le menu de l'activité principale même si elle n'est pas visible.
En outre, si je retourne à l'écran d'accueil (en appuyant sur HOME) et revenez à mon activité après un certain temps, l'application affiche l'activité Connexion, mais si j'appuie sur la touche MENU, le menu principal s'affiche. Comment puis-je supprimer le menu de l'activité Login?
Merci
Cela peut-il être le résultat d'un héritage? (par exemple 'login de classe étend Main'). –
c'est une question intelligente. Cependant, voici ma structure de classe: - MyAbstractActivity (classe de base), LoginActivity étend MyAbstractActivity, MainActivity étend MyAbstractActivity. Et je gonfle le menu dans la classe MainActivity. – Marco83