如何使Android FragmentPagerAdapter中显示特定Fragment_安卓软件开发教程-查字典教程网
如何使Android FragmentPagerAdapter中显示特定Fragment
如何使Android FragmentPagerAdapter中显示特定Fragment
发布时间:2018-02-01 来源:查字典编辑
摘要:最开始,我在主类Maintivity通过FragmentPagerAdapter显示两个Fragment。当我显示第二个Fragment时,...

最开始,我在主类Maintivity通过FragmentPagerAdapter显示两个Fragment。

当我显示第二个Fragment时,我在Maintivity改变数据后,我需要刷新第二个Fragment界面,但是在Maintivity刷新FragmentPagerAdapter数据后,虽然刷新成功但是显示的第一个Fragment,所以我想显示特定的一个Fragment。

我本来的想法是在FragmentPagerAdapter的getItem方法里传递一个值到Fragment,然后在Fragment显示第二个界面,但是第二次调用FragmentPagerAdapter时,不会调用getItem方法

所以有没其他方法可以解决这个问题

回复讨论(解决方案)

感觉好高级,我现在还不是很会用Fragmentadapter 只会写死 数据放在Activity里面,当做切换的时候,获取需要的Fragment的引用,去调用Fragment里面的方法 可能是我问题描述的不够清楚,如图所示,我这里是两个Fragment,一个是号码拦截,一个是匹配拦截,它们都是在黑名单列表这个activity里的

注意,这里右下角的加号图标是在Activity里的,点击加号会弹窗,输入数据后,数据将保存到数据库中,是数据库中

那么现在我需要的是在界面显示“匹配拦截”Fragment时,添加数据到数据库后,我要刷新“匹配拦截”这个Fragment。

但是我在activityt如果再次调用FragmentPagerAdapter刷新Fragment那么,黑名单列表activity会切换回号码拦截Fragment,这显然是不行的,因为我在这个Fragment添加数据后不可能刷新后显示的是另一个Fragment。

因此有什么办法可以做到,activity通知Fragment刷新当前的数据吗?

欲哭无泪,几个小时的寻找方法,麻烦的,简单的,真的是教训

解决了,viewPager本身就自带显示特定fragmemt的方法!!!、

也就是只需要获取当前显示的Fragment的ID,然后添加数据后,viewPager重新setAdapter,然后再加一句 ViewPager.setCurrentItem(ID);

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新安卓软件开发学习
    热门安卓软件开发学习
    编程开发子分类