【问题标题】:how I get the current visible fragment from view pager Adapter..?如何从视图寻呼机适配器获取当前可见片段..?
【发布时间】:2014-02-13 06:29:05
【问题描述】:

我已经实现了这些代码行,但它不起作用。

pagerAdapter= new AbstractPagerAdapter(getSupportFragmentManager());

    mViewPager = (ViewPager)findViewById(R.id.pager);

    MyFragment frg  = (MyFragment)pagerAdapter.getItem(mViewPager.getCurrentItem());

public class AbstractPagerAdapter extends FragmentPagerAdapter  {

        public AbstractPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            return AbstractDetailFragment.newInstance(objlist.get(position),position == notePosition ? true : false);

        }

        @Override
        public int getCount() {
            return objlist.size();
        }

        @Override
        public CharSequence getPageTitle(int position) {

            return objlist.get(position).getTitle();
        }
    }

【问题讨论】:

    标签: android-fragments


    【解决方案1】:

    要获取当前可见的片段实例,请尝试以下操作

    viewPager.setOnPageChangeListener(this);
    

    在下面的方法中

    @Override
    public void onPageSelected(int position) {
    
        if (position == 0)
            setFragmentFor(0);
        if (position == 1)
            setFragmentFor(1);
                .
                .
                .
                // Upto how many fragments you've in your ViewPager
    }
    

    所以在setFragmentFor() 方法中,您应该编写自己的逻辑来获取新的片段实例,具体取决于通过setFragmentFor() 传递的参数值。

    【讨论】:

    • ViewPager#setOnPageChangeListener 已弃用。用户 addOnPageChangeListener
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多