嗯,我認爲標題是相當自我解釋。我在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