获取当前项目ViewPageAdapter Android

时间:2016-06-12 00:45:50

标签: android

我在互联网上搜索,但我找不到任何关于我的问题的真正解决方案。

我有一个带有Viewpager的课程。 (Class 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。

谢谢你们!

2 个答案:

答案 0 :(得分: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
    }

});

答案 1 :(得分: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) {

        }
    });