Configuration Android changé
Je suis intéressé de savoir quelles méthodes sont remplacées, lors d'un appareil Android est tourné (c'est à dire lorsque les modifications de configuration)?
onSaveInstanceState(...)
, onConfigurationChanged(...)
, onRestoreInstanceState(...)
- quelque chose de semblable?
Il sera également intéressant pour moi d'écouter sur l'ensemble du processus lié à la modification d'une configuration. Merci.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous faites pivoter l'appareil de votre Activité de re-créer et toutes les variables sera ré-initialisé. Donc, dans ce cas, si vous voulez quelques valeurs restent même sur la Rotation aussi, vous pouvez stocker leur état à l'aide de la
onSaveInstanceState()
et vous pouvez le restaurer enonCreate()
de nouveau par la vérification de Bundle n'est pas null.Où, comme
onConfigurationChanged()
sera appelée lorsque vous faites pivoter l'Appareil(Noter que ce sera appelée uniquement si vous avez sélectionné les configurations que vous souhaitez gérer avec laconfigChanges
attribut dans votre manifeste). À partir du paramètre, vous obtiendrez la nouvelle configuration de l'appareil.Si vous ne voulez pas que votre Activité d'obtenir des re-créé sur la rotation de l'Appareil, puis vous devez ajouter cette ligne à votre activité dans la balise
AndroidManifest
fichier.Selon le développeur android de référence, vous devez utiliser:
Pour plus d'informations, voir: http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange
Vous pourriez être intéressé à voir: http://developer.android.com/guide/topics/manifest/activity-element.html#config
Ici vous pouvez trouver toutes les configuration de l'écouteur vous pouvez écouter.
N'oubliez pas de mettre dans le manifeste android:
Espère que cela aide...
android:configChanges
.. j'ai manqué parce que c'était vers le bas et je suis sur un modeste taille de l'écran. Pas une affaire énorme .. mais peut être utile d'avoir ceci près que le code Java .. j'étais réglage des points de rupture dans la méthode, mais ils n'ont pas déclenché jusqu'à ce que j'ai réalisé que j'avais besoin manifeste de mise à jour. De toutes les façons .. merci pour m'avoir fait va dans la bonne direction!De développeurs android...
De conserver un Objet pendant l'exécution, modification de la configuration:
onRetainNonConfigurationInstance()
méthode pour retourner l'Objet que vous souhaitez conserver.getLastNonConfigurationInstance()
pour récupérer votre Objet.Android appels onRetainNonConfigurationInstance() entre onStop() et onDestroy() lors d'un arrêt de votre Activité en raison d'un changement de configuration. La mise en œuvre de onRetainNonConfigurationInstance(), vous pouvez retourner n'importe quel Objet que vous avez besoin afin de restaurer efficacement votre état après le changement de configuration.
Un scénario dans lequel cela peut être utile si votre application charge un grand nombre de données à partir du web. Si l'utilisateur change l'orientation de l'appareil et de l'Activité redémarre, votre demande doit re-extraire les données, qui peut être très lente. Ce que vous pouvez faire à la place est de mettre en œuvre
onRetainNonConfigurationInstance()
pour retourner un objet de la réalisation de vos données, puis de récupérer les données quand votre Activité commence à nouveau avecgetLastNonConfigurationInstance()
.Regardez ici pour plus d'info La conservation d'un Objet Lors d'un Changement de Configuration vous pouvez également trouver d'exemple plus de leur..
Merci..
Aller à Manifester et à ajouter:
android:configChanges="orientation|screenSize"
Dans l'Activité Principale: Copiez et Collez ce code:
Fait -