ViewPager 如何得到當前的Fragment (使用FragmentPagerAdapter)


使用FragmentPagerAdapter時,難免要在MainActivity 和 當前顯示的Fragment間傳遞數據。但是FragmentPagerAdapter並沒有給我們提供類似getCurrentFragment一類的API。

通過FragmentPagerAdapter源碼,發現每次Fragment切換都會調用到FragmentPagerAdapter.setPrimaryItem 方法。這個方法里把一個Fragment設置為mCurrentPrimaryItem。 很明顯,mCurrentPrimaryItem就是我們想得到的當前Fragment.那么我們只需要重載這個方法,把傳入的Fragment記錄下來即可。

XX

我們可以在Adapter里定義一個currentFragment成員

public class XXPagerAdapter extends FragmentPagerAdapter{
Fragment currentFragment;

@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
  currentFragment = (QipanFragment) object;
  super.setPrimaryItem(container, position, object);
}

}

 

在外層Activity中,

getFragmentPageAdapter().currentFragment

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM