fragment的问题
来源:互联网 发布:豆瓣淘宝卖家讨论区 编辑:程序博客网 时间:2024/04/30 02:16
问题:项目中使用到fragment并且在fragment 的oncreateView()启动一个线程作为定时器去请求网络数据,登录的时候有两个不同的角色一个角色到MainActivity,添加fragment时候,fragment的生命周期是正常执行在oncreateView方法中给flag=false了值然后执行请求网络数据的线程是可以的,如果当你在离开fragment暂停线程的时候或onDestroy()的时候将flag=true,当你第二次进入fragment时候,flag任然等于true,及时你在fragment 的onresume()中将flag=false;但是线程依然不能执行:
原因:是跟fragment的生命周期有关系:定第二次启动时,frament其实没有被系统及时回收,所以他的成员变量依然是原先的值。
分析:fragment生命周期:onAttach()--->oncreate()--> oncreateView()--->onStart()-->onresume()....,
可见onresume是在oncreateView后面执行的所以在onresume中赋值变量flag=false,而oncreateView请求网络的线程已经启动,所以是flag=true(之前)
解决:在oncreateView()或onCreate()中给成员变量初始化赋值
总结:fragment的生命周期的方法很重要,需要明白他的调用顺序再根据需求去初始化自己想要的数据;
0 0
- Fragment的布局问题
- fragment的问题
- fragment嵌套的问题
- Fragment的跳转问题
- Fragment 生命周期的问题
- Fragment的相关问题
- Fragment切换的问题
- Fragment重叠的问题
- ViewPager + Fragment套用Fragment的问题
- Fragment嵌套Fragment产生的问题
- fragment 嵌套Fragment,出现空白的问题
- Fragment-Fragment切换的数据刷新问题
- Fragment嵌套Fragment遇到的问题
- 加载fragment的error问题
- 嵌套使用fragment的问题
- Fragment缓存问题的解析
- viewpager 、fragment 遇到的问题
- fragment的使用问题IllegalStateException
- phpcms 主副表构建
- 数据库表结构比对工具
- 一点一点学习struts1(二)_环境搭建
- Trie树的常见应用大总结(面试+附代码实现)
- break 的一个“高级用法”
- fragment的问题
- 那些猥琐的Java笔试题集锦(持续更新)
- 260 Single Number III
- 获取Json文件的方法
- BZOJ 1588 营业额统计 (Splay Tree)
- 堆(heap)和栈(stack)有什么区别??
- OpenGL介绍
- Atitit.软件开发的最终的设计 dsl化,ast化(建立ast, 解析执行ast)
- WebSocket(1)-- WebSocket API简介