android网络请求与页面切换
2014-11-25 13:33
148 查看
在android开发中会遇到使用fragment切换页面,并且切换的页面都会有网络请求,网络请求成功后会更新相应的fragment页面。如果使用异步网络请求组件android-async-http,会出现这样的情况,当你快速的切换fragment时,每个fragment都会发出新的请求。例如:fragmentA发了网络请求,又切换到了fragmentB,fragmentB又发了网络请求,然后快速的切换两个fragment,切换多次后可能会出现,fragmentA发出的请求返回成功并且使用handler发出消息请求改变fragmentA中的UI时,这时当前的页面正是fragmentB。此时会报空指针错误。
解决此类问题,可以通过第一次加载时缓存,再次切换到此页面时,只有下拉才能请求新数据。另一种方法是,设置一个public static volatile int flag;变量,如果flag为1时则表示当前页面在fragmentA中,当flag为2时表示当前页面在fragmentB中,只当handler收到消息并且flag=1时才能更新fragmentA中的数据。第二种方法实现起来比较繁锁,推荐使用第一种方法。其中1、2、3这些最好存放在一个枚举类型中。
解决此类问题,可以通过第一次加载时缓存,再次切换到此页面时,只有下拉才能请求新数据。另一种方法是,设置一个public static volatile int flag;变量,如果flag为1时则表示当前页面在fragmentA中,当flag为2时表示当前页面在fragmentB中,只当handler收到消息并且flag=1时才能更新fragmentA中的数据。第二种方法实现起来比较繁锁,推荐使用第一种方法。其中1、2、3这些最好存放在一个枚举类型中。
相关文章推荐
- Android自定义切换布局(请求中,无网络,无数据等)
- Android Glide切换网络请求方式
- android中网络请求中页面关闭了会怎么样
- [Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络)
- Android 实现无网络页面切换的示例代码
- Android vitamo 实现横竖屏的切换和页面内部的网络视频
- Android 网络请求登录后更新页面实现 Handler+HTTP请求详解
- android 页面切换动画效果
- Android中的几种网络请求方式详解
- 基于网络的客户端开发技巧——第三篇上下拖动切换页面
- Android 滑动切换页面 以及屏幕手势
- Android使用ViewFlipper做页面切换,与手势滑动切换的使用
- 利用android自带http包进行网络请求
- Android---网络交互之客户端请求服务端资源后续
- android页面切换效果zoomin、zoomout
- 【原创】Android 判断默认数据网络是否为开,若关则跳转到网络配置页面
- android笔记之--向网络发送GET/POST请求参数
- Android使用ViewFlipper做页面切换,与手势滑动切换的使用。
- android笔记之--向网络发送GET/POST请求参数
- Android-网络交互之客户端请求服务端资源-stoneson的专栏-  -  棒槌网@Android开发论坛 - Powered by phpwind