ViewPager 如何得到当前的Fragment (使用FragmentPagerAdapter)
2016-04-13 14:50
453 查看
使用FragmentPagerAdapter时,难免要在MainActivity 和 当前显示的Fragment间传递数据。但是FragmentPagerAdapter并没有给我们提供类似getCurrentFragment一类的API。
通过FragmentPagerAdapter源码,发现每次Fragment切换都会调用到FragmentPagerAdapter.setPrimaryItem 方法。这个方法里把一个Fragment设置为mCurrentPrimaryItem。 很明显,mCurrentPrimaryItem就是我们想得到的当前Fragment.那么我们只需要重载这个方法,把传入的Fragment记录下来即可。
XX
我们可以在Adapter里定义一个currentFragment成员
在外层Activity中,
通过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
相关文章推荐
- php中的日期和时间
- PHP MSSQL 分页实例
- Windows下搭建PHP开发环境
- NTP时间服务器搭建
- php会话控制(session与cookie)
- php headers_sent的作用
- PHP-异常处理Exception,及错误日志处理
- 使用office365.com进行SMTP邮件转发
- Windows Server 2008R2 设置SMTP邮件转发服务
- 关于MediaRecorder.setOutputFile(file)的问题!
- ThinkPHP 查询where条件的like写法。
- PHP7中php.ini、php-fpm和www.conf的配置
- php中怎么使用call_user_func动态调用方法
- PHP session 失效不传递的解决办法
- 搭建一个php框架
- php 5.3新增的闭包语法介绍function() use() {}
- thinkphp插件开发(上)
- php中的正则表达式
- 【sftp】
- Yii 框架生成缩略图