2016-06-12 29 views
1

私はすべてのインターネットで検索していますが、私の問題については実際の解決策を見つけることはできません。現在のアイテムを取得ViewPageAdapter Android

私はViewpagerを持つクラスを持っています。 (クラスDescripcionRutinas)

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

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

} 

そして私は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; 
    } 

を持って、私はここに現在の項目の位置を必要とします。

注:ViewPagerAdapterは、INSIDE DescripcionRutinasです。

ありがとうございました!

+0

これを読んで、あなたの目に見えるviewPagerの現在位置を意味しますか? –

+0

はい、私はタブを使用していますが、現在のタブを私に与えてくれません。次のタブを与えません。最後のタブに到着すると、varの "位置"は私に最後のタブを与えます。 –

+0

あなたはあなたのViewPager.get(位置)を試しましたか? –

答えて

0

yourViewPager.getCurrentItem()あなたの目に見えるページャの位置を取得するために使用するようにしてください。

更新

onPageSelected(int currentPage)は、原料に

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

問題は、getItemが "yourViewPager"の内側にある場合、このコマンドを "getItem"メソッドの中でどのように使用できますか? –

+0

私の更新情報を見る@RobertoR –

+0

私の喜び...ハッピーコーディング:) –

0

を行う必要があります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

完璧、ありがとう! –

関連する問題