2012-06-14 6 views
6

Donc, fondamentalement, je veux remplir les pages à l'intérieur de ViewPager avec des dispositions XML distinctes pour chaque position d'affichage. Je fais actuellement ce parGonflez new layout xml pour chaque vue - instantiateItem dans PagerAdapter

@Override 
    public Object instantiateItem(View container, int position) { 

     LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE); 

     if(position == 0){ 
     view = inflater.inflate(R.layout.main, null); 
     ((ViewPager) container).addView(view, 0); 
     } 
     if(position == 1){ 
      view = inflater.inflate(R.layout.main_second, null); 
      ((ViewPager) container).addView(view, 0); 
     } 
     if(position == 2){ 
      view = inflater.inflate(R.layout.main_third, null); 
      ((ViewPager) container).addView(view, 0); 
     } 

     return view; 
} 

Les vues sont affichées correctement au début, mais quand je passez votre ViewPager, la mise en page est cachée/détruite. Pourquoi est-ce? Est-ce que je le fais dans le mauvais sens? S'il vous plaît, aidez et corrigez-moi.

Merci. Amour. Wesley

+0

pouvez-vous obtenir la solution? – CoronaPintu

+0

Il peut également aider http://stackoverflow.com/a/37916222/3496570 – Nepster

Répondre

14

Jetez un coup d'œil à this link pour un bon tutoriel sur la façon de tout mettre ensemble. Fondamentalement, l'idée est que vous devez ajouter la vue nouvellement gonflé à la collection ViewPager:

View view = inflater.inflate(resId, null); 
((ViewPager) collection).addView(view, 0); 
+0

où implémenter ceci pouvez-vous expliquer plus? – CoronaPintu

+0

@Pintu, placez ce code dans la méthode instantiateItem après l'instruction switch. Voir l'étape 4 du lien tutoriel dans mon message. – rundavidrun

Questions connexes