fragment not afficher apres rotation d'ecran
Bonjours à tous,
mon application se compose d'une activité qui hérite de la classe Fragmentactivity et de trois autres activités qui héritent de la classe fragment
voila mon code pour l'activité principale:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
public class AIDCalculatriceActivity extends FragmentActivity {
private PagerAdapter mPagerAdapter;
private boolean calcInterm; //contient l'etat pour la calculatrice intermediare(active ou pas)
ViewPager pager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//restauration des parametres
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
calcInterm = sharedPreferences.getBoolean("calcInterm", true);
// Création de la liste de Fragments que fera défiler le PagerAdapter
List<Fragment> fragments = new Vector<Fragment>();
// Ajout des Fragments dans la liste
fragments.add(Fragment.instantiate(this,Page0.class.getName()));
fragments.add(Fragment.instantiate(this,Page1.class.getName()));
if(calcInterm) //si la calculatrice intermediare est activé
fragments.add(Fragment.instantiate(this,Page2.class.getName()));
// Création de l'adapter qui s'occupera de l'affichage de la liste de Fragments
this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
pager = (ViewPager) super.findViewById(R.id.viewpager);
// Affectation de l'adapter au ViewPager
pager.setAdapter(this.mPagerAdapter);
pager.setCurrentItem(1);
pager.setAnimationCacheEnabled(true);
}
@Override
public void onResume(){
super.onResume();
//restauration des parametres
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
calcInterm = sharedPreferences.getBoolean("calcInterm", true);
// Création de la liste de Fragments que fera défiler le PagerAdapter
List<Fragment> fragments = new Vector<Fragment>();
// Ajout des Fragments dans la liste
fragments.add(Fragment.instantiate(this,Page0.class.getName()));
fragments.add(Fragment.instantiate(this,Page1.class.getName()));
if(calcInterm) //si la calculatrice intermediare est activé
fragments.add(Fragment.instantiate(this,Page2.class.getName()));
// Création de l'adapter qui s'occupera de l'affichage de la liste de Fragments
this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
pager = (ViewPager) super.findViewById(R.id.viewpager);
// Affectation de l'adapter au ViewPager
pager.setAdapter(this.mPagerAdapter);
pager.setCurrentItem(1);
pager.setAnimationCacheEnabled(true);
}
....
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
} |
et pour le main.xml:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="true"
android:orientation="horizontal" >
<EditText
android:id="@+id/resultat_land"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:cursorVisible="false"
android:textSize="40dp"
android:focusable="false" >
<requestFocus />
</EditText>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/viewpager">
</android.support.v4.view.ViewPager>
</LinearLayout> |
j'ai ajouté le dossier "layout-land" ou j'ai mis mes nouveaux fichiers xml (j'ai seulement modifier l'ordre des boutons pour avoir une meilleur présentation de l'application).
Le problème est lorsque je fait une rotation de l'écran mes fragment ne s'affiche plus.
merci d'avance 8-)