BapNesS Posté(e) 22 août 2012 Share Posté(e) 22 août 2012 Bonjour, J'ai cherché toute la soirée une réponse à cette question : pourquoi mon activité est recréée alors que je semble avoir convenablement rédigé mon code pour que celui-ci passe dans la fonction onConfigurationchanged et non onCreate lors du passage de l'activity de portrait à paysage (et vise versa) ? Grosso modo : Code : public class AddUsersActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.addusers); getActionBar().setDisplayHomeAsUpEnabled(true); mRing = new Ring(new ArrayList<People>()); setRingPrefs(); mList = (ListView) findViewById(R.id.addusers_list); mList.setAdapter( new AddUsersAdapter(this) ); Log.i("Activity", "onCreate() was called."); } @Override public void onConfigurationchanged(Configuration newConfig) { super.onConfigurationchanged(newConfig); Log.i("Activity", "onConfigurationchanged was called."); } } Manifest : <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="15" /> … <activity android:name=".activity.AddUsersActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/title_activity_home"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="HomeActivity" /> </activity> Log : 08-22 23:42:27.561: I/System.out(9028): Creation de l'engrenage 08-22 23:42:27.577: I/Activity(9028): onCreate() was called. 08-22 23:42:27.577: I/Activity(9028): onresume() was called. *Roration* 08-22 23:42:29.967: I/Activity(9028): onpause() was called. 08-22 23:42:29.975: I/Activity(9028): onSaveInstanceState() was called. 08-22 23:42:29.975: I/Activity(9028): onstop() was called. 08-22 23:42:30.045: I/Activity(9028): onCreate() was called. 08-22 23:42:30.053: I/Activity(9028): onresume() was called. Une idée ? Merci bien! Solution : En ajoutant "screenSize|smallestScreenSize" dans le manifest, cela fonctionne. Personnellement j'ai mis android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" Cela semble être un pré-requis depuis le SDK ICS. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 août 2012 Share Posté(e) 23 août 2012 Essaye de rajouter "screenSize" dans les valeurs supportées par configChanges, dans ton AndroidManifest.xml Lien vers le commentaire Partager sur d’autres sites More sharing options...
BapNesS Posté(e) 23 août 2012 Auteur Share Posté(e) 23 août 2012 Toujours pareil. :D EDIT : Solution trouvée : direction le premier post. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.