Lemp Posted February 21, 2010 Share Posted February 21, 2010 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 Quote Link to comment Share on other sites More sharing options...
popolbx Posted February 21, 2010 Share Posted February 21, 2010 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.... Quote Link to comment Share on other sites More sharing options...
Lemp Posted February 22, 2010 Author Share Posted February 22, 2010 donc le pb existe , ce n'est pas une erreur de dev de ma part ??? impec merci popolbx :) A+ Lemp Quote Link to comment Share on other sites More sharing options...
Antares Posted February 22, 2010 Share Posted February 22, 2010 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. Quote Link to comment Share on other sites More sharing options...
Lemp Posted February 23, 2010 Author Share Posted February 23, 2010 encore merci à vous 2. je vais reflechir pour voir qu'elle solution je vais choisir. Lemp Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.