嗯,我认为标题是相当自我解释。我在HomeActivity
中有一个ViewPager
,此时ViewPager包含5个片段。Android:ViewPager +碎片:修改片段视图时,“onPageScrolled”
当通过调用ViewPager的onPageScrolled
可见其中一个片段时,我想根据HomeActiviy
中的某些条件修改当前显示片段中的一些视图。
经过一番研究,好像我找不到方向沟通的好方法HomeActivity - > ViewPager内的碎片。
我已经很容易地解决了方向上的通信ViewPager中的片段 - > HomeActivity使用Interface
但这个技巧似乎没有在另一个方向工作。
我每次访问使用方法目前显示的片段在我FragmentStatePagerAdapter
public Fragment getActiveFragment(int position){
return myFragmentsList.get(position);
}
然而,通过这样做,我会每个Fragment
铸成类MyFragment1
MyFragment2
MyFragment3
....
任何简单的干净的方式来实现这一目标?这里是代码的相关部分:
mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (currentStatus == 1){
Fragment activeFrag = mPagerAdapter.getActiveFragment(mPager.getCurrentItem());
//here I would like to modify one of the 5 fragments
}
@Override
public void onPageSelected(int position) {}
@Override
public void onPageScrollStateChanged(int state) {}
});
它似乎工作正常,谢谢! – codeKiller