解决ViewPager缓存导致不能实时刷新数据
ViewPager+Fragment,但是Fragment有个不好或者太好的地方。例如你在ViewPager中添加了三个Fragment,当加载ViewPager中第一个Fragment时,它会默认帮你预先加载了第二个Fragment,当你加载第二个Fragment时,它会帮你加载第三个Fragment。
这样用户使用的体验是不错的,但是这样可能导致每次滑动切换页面时,显示的数据都不是最新的数据。而是ViewPager预加载从内存中读取的数据。
我们怎么去解决这种问题。及时的去刷新数据。
在fragment中有这样两个个方法 void setUserVisibleHint(boolean isVisibleToUser)、boolean getUserVisibleHint() 这两个方法分别是设置fragment可见状态和获取当前fragment可见
状态,取消预加载我们应该在这里面去进行设置。在BaseFrament中去写这样一段逻辑。
public
abstract
class
BaseFragment
extends
Fragment {
/** Fragment当前状态是否可见 */
protected
boolean
isVisible;
@Override
public
void
setUserVisibleHint(
boolean
isVisibleToUser) {
super
.setUserVisibleHint(isVisibleToUser);
if
(getUserVisibleHint()) {
isVisible =
true
;
v
isible();
}
else
{
isVisible =
false
;
i
nVisible();
}
}
/**
* 可见
*/
protected
void
visible() {
loadData
();
}
/**
* 不可见
*/
protected
void
inVisible() {
}
/**
* 延迟加载
* 子类必须重写此方法
*/
protected
abstract
void
loadData();
}
转载于:https://www.cnblogs.com/lyjsmile/p/7434694.html
解决ViewPager缓存导致不能实时刷新数据相关推荐
- js php 实时更新数字,js实现股票实时刷新数据案例
近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起"关注". 所以就想自己做一个网页来达到看盘的目的,一个只显示几个关键数字的网页肯定 ...
- 前端实时刷新数据_产品又让我造数据
作为一个测试.经常面临造数据的问题,昨天这个问题又来了. 产品:我需要那个XX页面都有数据的截图,要给甲方爸爸们看 我:现在忙.明天再说吧(日常偷懒) 产品:那明天早上尽快给我, 我:好嘞(不到晚上给 ...
- kafka添加 partion导致 spark 实时任务数据减少
场景: kafka原有两个分区,添加一个分区后,一直运行的实时的spark任务 数据减少约3分之一 分析: spark 将kafka 的offsite维护在checkpoint 里面,当spark任 ...
- php实现实时刷新的股票,js实现股票实时刷新数据案例
近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起"关注". 所以就想自己做一个网页来达到看盘的目的,一个只显示几个关键数字的网页肯定 ...
- python flask 实时刷新数据_从Flask实时更新变量而无需刷新页面
Je suis ici La température de la pièce est de: {{ temp }}°. function() { $SCRIPT_ROOT = {{ request.s ...
- 不懂代码,如何做出实时刷新的数据大屏?
首先恭喜你,当你看到这篇文章的时候,不管你是小白还是大咖,你都将直接获得一个高级技能:轻松上手可实时刷新的酷炫大屏. 制作可视化大屏,一般有这么几种方案: 写代码调用数据和图表,比如写JS+Echar ...
- uniapp 购物车页面解决实时刷新的问题
电商app购物车页面的刷新问题 onShow周期函数中实时渲染数据 在电商app中,购物车需要根据商品加入购物车/购物车商品删除/购物车商品下单等操作进行实时刷新数据. 最开始的处理方案就是:在购物车 ...
- STM32 网页服务器 LWIP websever ajax实时刷新 (一)
STM32 网页服务器 LWIP websever ajax实时刷新 (一) 本项目主要功能是作为通讯板控制使用,主要有UDP.TCP.websever(网页服务器)和RS485等通讯功能.在使用的过 ...
- IE缓存导致数据不能实时更新的解决办法
查看全文 http://www.taodudu.cc/news/show-5902634.html 相关文章: IE缓存设置问题 清除IE缓存 关于IE缓存所带来的数据不能实时更新的解决办法 解决ie ...
最新文章
- java windows wifi_[转] win7 电脑无线网变身WiFi热点
- Redola.Rpc 集成 Consul 服务发现
- jp在java中无法编译_JPanal上加图片的问题!
- JavaScript实现继承的几种方式
- 《Approximation Capabilities of Multilayer Feedforward Networks》的学习笔记
- 一文教你如何用 Python 将 iPhone “玩弄于股掌之中”!
- python的类与继承
- 片假名翻译软件测试,怎么写软件测试用例
- Vue开发环境的搭建
- R语言对数据进行非参数检验
- 微信的转账记录删除了还能恢复吗?2个办法教你找回
- 一款开源的PHP邮箱系统
- 云计算与大数据处理技术_云计算与大数据处理
- 基于高通X55平台的5G模组iperf灌包参数配置
- [IOS APP]小豆子幽默丛书
- 【最大费用流】【最优匹配】丘比特的烦恼 Vijos 1169
- html转m3u8地址,[转]m3u8直播测试地址
- android打电话 接电话 挂电话流程分析
- 良心整理!500G Java学习资料免费分享!
- 安装Anaconda3时遇到的问题
热门文章
- serverlet 区别_Servlet中/和/*的区别
- linux 目录说明
- jwt需要存redis吗_Spring Cloud Security:Oauth2结合JWT使用
- RS232接口是如何工作的?
- 【 MATLAB 】通过案例学会编写一个 matlab 函数(小猫掉进山洞问题)
- 2018年首单!基石资本成功发行了双创债 募集3.1亿元
- 深入理解ES6笔记(九)JS的类(class)
- 洛谷 P1843 奶牛晒衣服
- swift 笔记 (十二) —— 下标
- 备忘: VC++ 自动适用编译两种模式库文件 (DLL, LIB)