码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-14 06:11:49      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

使用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

 

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

标签:

原文地址:http://www.cnblogs.com/englefly/p/4222953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!