Fragment的可见性

Fragment的可见性,第1张

需求: app首页多个tab的情况下,刷新消息tab Fragment的消息列表,为避免重复刷新,有两种情况下需要刷新:

1从其他tab切换至消息tab时,刷新消息列表;

2消息tab选中时,在此fragment跳转消息详情页后再次返回,刷新消息列表;

就这两种情况,如何实现以上两种情况下的消息刷新,此时就涉及到fragment 的可见性

可见性: 关于Fragment的可见与不可见,两种情况下的调用方法不一样:

1使用ViewPager+Fragment实现多tab页切换,此时可通过setUserVisibleHint(boolean isVisibleToUser)这个方法获取当前fragment的可见与否

2使用Tablayout+Fragment实现多tab页切换,此时可通过onHiddenChanged(boolean hidden)这个方法获取当前fragment的可见性

举个栗子:

使用情况:使用Tablayout+Fragment

svgselectAll("place-label")

attr("x", function(d) { return dgeometrycoordinates[0] > -1 6 : -6; })

style("text-anchor", function(d) { return dgeometrycoordinates[0] > -1 "start" : "end"; })

fragment是30以后的东西,为了在低版本中使用fragment就要用到android-support-v4jar兼容包,而fragmentActivity就是这个兼容包里面的,它提供了 *** 作fragment的一些方法,其功能跟30及以后的版本的Activity的功能一样。

下面是API中的原话:

FragmentActivity is a special activity provided in the Support Library to handle fragments on system versions older than API level 11 If the lowest system version you support is API level 11 or higher, then you can use a regular Activity

在做项目时,遇到Fragment与Fragment、Fragment与Activity需要相互通信、传递数据以及进行互

*** 作的问题,查阅了官方文档,也实现了官方的例子,但实际项目是ViewPager+Fragment,按官方的例

子,总是获取不到Fragment的引用,如:

HeadLinesFragment headLinesFrag = (HeadLinesFragment)

getSupportFragmentManager()findFragmentById(Ridheadline_fragment);

这是因为在ViewPager里Fragment是new出来动态加到ViewPager里的,上需的Id只是Fragment的布

局文件的根Id,不是Fragment 的Id,故获取的Fragment为空

查询相关资料后,终于找到如下解决方案:

一般来讲,我们再使用viewpager的时候,是在代码中动态的添加fragment。此时,我们不能去指定

fragment的id,也不能指定他的tag,如果你一定要去指定tag,运行时会提示,tag已经被指定。那么,在动

态的添加了fragment之后,我们如何能获取到该fragment并修改其中的内容呢。两种方法:

第一种方法实际上是一种hack方法,并没有官方文档说明支持。

这个一句两句说不清楚啊,到我群里讨论 look at my n a m e

不是最新版本。AndroidStudio是Google发布的用于Android的开发平台。在该平台fragment不跳转,而是在当前页面显示是因为,平台程序不是最新版本,没有升级热补丁兼容导致的,出现这种情况的话,应把AndroidStudio程序升级到最新版本即可。

一般而言,我们是使用某个特定的 FrameLayout 来装载 Fragment, 那么你可以通过 getFragmentManager,findFragmentById 来获取对应的 Fragment, 然后判断具体类型来判断Fragment

以上就是关于Fragment的可见性全部的内容,包括:Fragment的可见性、如何获取ViewPager当前的Fragment、怎么判断当前activity上显示的是哪个fragment等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9580859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存