Fragment的pause和resume
2016-07-27 20:13
441 查看
最近项目需要使用fragment,并且要几个fragment进行切换。一开始以为只用onResume和onPause就可以完成了。coding之后发现并不能满足需求。因为这两个函数只是跟随activity的生命周期,并不如预想的那样跟随着fragment的生命周期。同时在进行fragment切换时使用了两种方式,replace和hide/show。这就更增加了问题的复杂性。
怎么办?
Google+Stackoverflow。
解决方法:
针对replace的处理方法是使用setUserVisibleHint
而针对hide/show处理方法是使用onHiddenChanged
参考链接:
- http://www.sixwolf.net/blog/2016/01/14/how-to-judge-if-fragment-is-visible-to-user/
- http://www.cnblogs.com/over140/p/3392164.html
怎么办?
Google+Stackoverflow。
解决方法:
针对replace的处理方法是使用setUserVisibleHint
@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { //相当于Fragment的onResume } else { //相当于Fragment的onPause } }
而针对hide/show处理方法是使用onHiddenChanged
@Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if(hidden){ //TODO now visible to user } else { //TODO now invisible to user } }
参考链接:
- http://www.sixwolf.net/blog/2016/01/14/how-to-judge-if-fragment-is-visible-to-user/
- http://www.cnblogs.com/over140/p/3392164.html
相关文章推荐
- 安卓aidl夸进程通信的小例子,
- hdu 5616 Jam's balance ( 动态规划 )
- linux下怎么挂载U盘
- 复习4
- LintCode111 之爬楼梯
- 实现上拉加载更多的SwipeRefreshLayout
- UVA 10566 Crossed Ladders (几何+二分)
- ACL
- poj 1426 Find The Multiple
- 【Basic computer】-----Java Spring :Injection Objects (注入对象篇)
- 2016/07/27 选择
- Request.QueryString
- Python是什么类型的语言?
- shell编程
- Property (属性动画)
- IOS中 UIFont 字体大全
- 7月份学习内容
- oracle的SQL语言
- [编写高质量iOS代码的52个有效方法](九)块(block)
- c++设计模式之模板模式