繁体   English   中英

如何将viewpager的onPageSelected传播到片段内的自定义视图

[英]How to propagate viewpager's onPageSelected to a custom view inside a Fragment

所以我有这样的结构:一个具有片段的ViewPager的Activity,在这些片段上,我有一个自定义视图。 每次ViewPager选择其父片段时,自定义视图都需要知道。 实施此行为的最佳方法是什么?

谢谢

在您的片段中,您应该编写一个方法来放置所需页面的编号

int mCurrent;
Fragment newInstance(int current)
{
    Fragment f = new Fragment();


    Bundle args = new Bundle();
    args.putInt("current", current);
    f.setArguments(args);

    return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    mCurrent  = getArguments() != null ? getArguments().getInt("current") : 1;

} 

然后在您的寻呼机活动中为适配器创建一个内部类,该类如下所示:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter  {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {

        return new Fragment().newInstance(mPager.getCurrentItem());
    }


    @Override
    public int getCount() {
        return NUM_PAGES;
    }
    }

而已 :)

在您的ViewPager上,设置一个OnPageChangeListener。 选择新页面后,调用FragmentPagerAdapter。 在FragmentPagerAdapter内部,应保留对包含要更新的视图的Fragment的引用。 调用该片段以更新视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM