J'ai une TabActivity, et chaque onglet correspond à sa propre activité. Dans l'un d'entre eux, dans la méthode onCreate, j'utilise startActivityForResult pour afficher une boîte de dialogue (en particulier, l'activité BumpAPI de Bump).Comment gérer les changements d'orientation de l'écran avec une activité commencée dans l'activité d'un onglet?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bump = new Intent(this, BumpAPI.class);
bump.putExtra(BumpAPI.EXTRA_API_KEY, API_KEY);
startActivityForResult(bump, BUMP_API_REQUEST_CODE);
}
Le problème est que lorsque les changements d'orientation de l'écran, il tente de créer à nouveau l'activité de l'onglet qui fait un autre dialogue BumpAPI, entraînant plusieurs empilés les uns sur les autres. Est-ce que j'ai un crochet dans l'activité commencée pour annuler le précédent lorsque l'orientation change?
Une solution de contournement semble être d'ajouter un bouton qui, une fois cliqué, démarre la deuxième activité, mais cela ajoute une étape inutile.
En outre, je ne peux pas corriger l'orientation de l'écran pour la totalité de tabActivity, car certains d'entre eux nécessitent une saisie et les utilisateurs peuvent vouloir utiliser leurs claviers physiques.