2016-06-12 7 views
1

Ich suche im gesamten Internet, aber ich finde keine echte Lösung für mein Problem.Aktueller Artikel ViewPageAdapter Android

Ich habe eine Klasse mit einem Viewpager. (Klasse DescripcionRutinas)

private void setupViewPager(ViewPager viewPager) { 
    adapter = new ViewPagerAdapter(getSupportFragmentManager()); 

    adapter.addNumDias(numDias); 
    adapter.setDias(dias); 
    viewPager.setAdapter(adapter); 
    viewPager.setOffscreenPageLimit(5); 

} 

Und ich habe ein ViewPagerAdapter

class ViewPagerAdapter extends FragmentPagerAdapter { 

    private int numDias; 
    private int count = 0; 
    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 
    ArrayList<Dia> dias; 

    @Override 
    public Fragment getItem(int position) { 
     OneFragmentSeries fragmento = new OneFragmentSeries(); 

     Dia ex = dias.get(**I NEED CURRENT ITEM HERE**); 
     nomDia = ex.getNombre(); 

     fragmento.setSeries((ArrayList<Serie>)((ArrayList<Dia>)WorkoutYourself.dameWorkoutYourself().dameRutina(nomRutina).getDias()).get(position).getSeries()); 
     return fragmento; 
    } 

ich das aktuelle Element Position brauchen hier.

HINWEIS: ViewPagerAdapter ist INSIDE DescripcionRutinas.

Danke Jungs!

+0

Meinen Sie aktuelle Position des sichtbaren viewPager tun sollte? –

+0

Ja, ich benutze Tabs, aber "Position" nicht geben Sie mir die aktuelle Registerkarte, gibt mir die nächste Registerkarte, Und wenn ich ankommt, letzte Registerkarte, die Var "Position" gibt mir nur die letzte Registerkarte alle Zeit. –

+0

haben Sie versucht, yourViewPager.get (Position)? –

Antwort

0

Versuchen Sie yourViewPager.getCurrentItem() zu verwenden, es sollte funktionieren, um Ihre sichtbare Pagerposition zu erhalten.

aktualisieren

onPageSelected(int currentPage) das Zeug dieses

dia.setOnPageChangeListener(new OnPageChangeListener() { 

    public void onPageScrollStateChanged(int arg0) { 
    } 

    public void onPageScrolled(int arg0, float arg1, int arg2) { 
    } 

    public void onPageSelected(int currentPage) { 
     //here you get your current position 
    } 

}); 
+0

Das Problem ist, wie kann ich diesen Befehl in "getItem" -Methode verwenden, wenn getItem in "yourViewPager" ist? –

+0

sehe mein Update @RobertoR –

+0

mein Vergnügen ... Happy Codierung :) –

0

Lesen documentation

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int positionCurrentPage) { 
      if(positionCurrentPage == 1){ // if you want the second page, for example 
       //Your code here 
      } 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 
+0

Perfekt, danke! –