当前位置:网站首页>fragment可见性判断
fragment可见性判断
2022-08-05 01:50:00 【TomCat。。。】
1.fragment在activity中之间使用:
这种情况是最简单的,因为此时的fragment的生命周期是和activity的生命周期一致的,当打开另外一个activity的时候,只要监听Fragment的onResume和onPause方法就能够判断其显隐(至于这两个方法什么意思就不多说了,不懂的自己去看activity和fragment的生命周期)
@Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); }
2.在ViewPager中的Fragment
ViewPager中Fragment左右切换时,是不会调用onResume()和onPause()方法的。因为这两个方法是跟随activity的生命周期来走的,这个时候我们就可以在fragment中重新 setUserVisibleHint(boolean isVisibleToUser)方法来监听Fragment是否可见
@Override public voidsetUserVisibleHint(booleanisVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser){ //可见 }else{ //不可见 } }
3.使用show()和hide()方法来显示隐藏fragment
这种情况是在一个activity中fragment切换成另外一个fragment,那么上面两种监听你会发现都没卵用,此时我们可以监听onHiddenChanged(boolean hidden)方法来判断是否对用户可见。
@Override public void onHiddenChanged(booleanhidden) { super.onHiddenChanged(hidden); if(hidden){ //不可见 }else{ //可见 } }
边栏推荐
猜你喜欢
随机推荐
KingbaseES V8 GIS数据迁移方案(2. Kingbase GIS能力介绍)
ExcelPatternTool: Excel表格-数据库互导工具
CMS website construction process
进程在用户态和内核态的区别[独家解析]
2021年11月网络规划设计师上午题知识点(下)
(十七)51单片机——AD/DA转换
How to create an rpm package
张驰咨询:揭晓六西格玛管理(6 Sigma)长盛不衰的秘密
Leetcode brushing questions - 22. Bracket generation
测试工作这么难找吗?今年32,失业2个月,大龄测试工程师接下来该拿什么养家?
硬实力和软实力,哪个对测试人来说更重要?
【Endnote】Word插入自定义形式的Endnote文献格式
接口自动化测试框架postman tests常用方法
自定义线程池
Dynamic Programming/Knapsack Problem Summary/Summary - 01 Knapsack, Complete Knapsack
Bit rate vs. resolution, which one is more important?
Xunrui cms website cannot be displayed normally after relocation and server change
1349. Maximum number of students taking the exam Status Compression
记录谷歌gn编译时碰到的一个错误“I could not find a “.gn“ file ...”
从一次数据库误操作开始了解MySQL日志【bin log、redo log、undo log】