2009-12-03 8 views
0

Est-il possible de faire un Activity temporairement non rotatif (comme, allumer/éteindre dans le code, pas dans le manifeste)?Activités Android temporairement non rotatives?

L'une de mes anciennes applications se bloque si vous faites une rotation pendant qu'elle effectue une recherche HTTP car les vues ne sont plus attachées lors de son retour.

Un de ces jours je vais le réparer correctement, mais en attendant ce serait utile si je pouvais juste rendre la chose non-rotative pendant qu'elle fait la recherche.

Répondre

1

Je crois que vous pouvez vous inscrire pour être averti des événements de changement d'orientation et remplacer Activity.onConfigurationChanged. Enregistrez-vous pour les changements d'orientation dans le manifeste avec l'attribut configChanges.

Puis, bien sûr, vous pouvez décider de faire ou non pivoter et d'appeler setRequestedOrientation.

+0

J'avais peur que ce soit un problème. Si je vais faire autant d'efforts, je peux aussi corriger le problème original. J'espérais vraiment avoir manqué quelque chose de simple comme un 'Activity.setOrientable (bool)'. –

+0

Rien n'est jamais si simple sur Android. lol – Rich

+0

Cela ne fonctionne pas comme c'est. Je suis actuellement en train de chercher dans le code source Android pour essayer de comprendre comment faire cette chose exaspérante. – mxcl

Questions connexes