您的位置:首页 > 编程语言 > PHP开发

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

2017-09-15 15:51 721 查看
原地址:http://www.cnblogs.com/englefly/p/4222953.html

使用FragmentPagerAdapter时,难免要在MainActivity 和 当前显示的Fragment间传递数据。但是FragmentPagerAdapter并没有给我们提供类似getCurrentFragment一类的API。
通过FragmentPagerAdapter源码,发现每次Fragment切换都会调用到FragmentPagerAdapter.setPrimaryItem 方法。这个方法里把一个Fragment设置为mCurrentPrimaryItem。 很明显,mCurrentPrimaryItem就是我们想得到的当前Fragment.那么我们只需要重载这个方法,把传入的Fragment记录下来即可。

public class PagerAdapter extends FragmentPagerAdapter{
Fragment currentFragment;

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

在外层Activity中,
getFragmentPageAdapter().currentFragment
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: