Aller au contenu

pb dialog box lors du bascument d'écran


Recommended Posts

Posté(e)

bonsoir,

rencontrez vous le meme pb dans vos dev :

lorsque je suis sur un dialog box et que je bascule d'un affichage a un autre (vertical/horizontal) la dialog box se ferme :( ?

comment corriger ?

Slts

Lemp

Posté(e)

bloquer le basculement pendant l'affichage de la dialog ^^

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

tu mets sensor pour debloquer et le mode actuel pour le verrouiller:

perso je fais comme ça:

public static void LockScreen(Activity activity){

Display display = ((WindowManager) activity.getSystemService(WINDOW_SERVICE)).getDefaultDisplay();

String model = android.os.Build.MODEL;

int orientation = display.getOrientation();

if(model.equals("Archos5")){

activity.setRequestedOrientation(orientation==0?ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}else{

activity.setRequestedOrientation(orientation==0?ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

}

avec en cadeau gestion de l'archos 5 qui marche pas à l endroit....

Posté(e)

Bonjour,

C'est normal que la dialogbox se ferme.

Quand tu changes d'orientation d'écran, l'activity en cours est détruite et reconstruite, donc la dialogbox appartenant à l'activity est elle aussi détruite.

Dans l'ordre, tu passes par :

OnSaveInstanceState()

OnPause()

OnStop()

OnDestroy()

puis par

OnCreate()

OnStart()

OnRestoreInstanceState()

et OnResume()

Il faut donc sauvegarder les informations temporaires dans le OnSaveInstanceState() et les récupérer dans le OnRestoreInstanceState().

Tu peux donc par exemple positionner un flag à true quand tu affiches la dialogbox, et le remettre à false quand elle se ferme. Puis tu sauve ce flag dans OnSaveInstanceState(), et tu le récupére dans OnRestoreInstanceState().

Dans le OnResume(), si ton flag est à true, tu le remets à false et tu affiches ta dialogbox.

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...