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;
            visible();
        } else {
            isVisible = false;
            inVisible();
        }
    }
     
     
    /**
     * 可见
     */
    protected void visible() {
        loadData();    
    }   
    /**
     * 不可见
     */
    protected void inVisible() {
         
         
    }
    /**
     * 延迟加载
     * 子类必须重写此方法
     */
    protected abstract void loadData();
}

转载于:https://www.cnblogs.com/lyjsmile/p/7434694.html

解决ViewPager缓存导致不能实时刷新数据相关推荐

  1. js php 实时更新数字,js实现股票实时刷新数据案例

    近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起"关注". 所以就想自己做一个网页来达到看盘的目的,一个只显示几个关键数字的网页肯定 ...

  2. 前端实时刷新数据_产品又让我造数据

    作为一个测试.经常面临造数据的问题,昨天这个问题又来了. 产品:我需要那个XX页面都有数据的截图,要给甲方爸爸们看 我:现在忙.明天再说吧(日常偷懒) 产品:那明天早上尽快给我, 我:好嘞(不到晚上给 ...

  3. kafka添加 partion导致 spark 实时任务数据减少

    场景: kafka原有两个分区,添加一个分区后,一直运行的实时的spark任务  数据减少约3分之一 分析: spark 将kafka 的offsite维护在checkpoint 里面,当spark任 ...

  4. php实现实时刷新的股票,js实现股票实时刷新数据案例

    近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起"关注". 所以就想自己做一个网页来达到看盘的目的,一个只显示几个关键数字的网页肯定 ...

  5. python flask 实时刷新数据_从Flask实时更新变量而无需刷新页面

    Je suis ici La température de la pièce est de: {{ temp }}°. function() { $SCRIPT_ROOT = {{ request.s ...

  6. 不懂代码,如何做出实时刷新的数据大屏?

    首先恭喜你,当你看到这篇文章的时候,不管你是小白还是大咖,你都将直接获得一个高级技能:轻松上手可实时刷新的酷炫大屏. 制作可视化大屏,一般有这么几种方案: 写代码调用数据和图表,比如写JS+Echar ...

  7. uniapp 购物车页面解决实时刷新的问题

    电商app购物车页面的刷新问题 onShow周期函数中实时渲染数据 在电商app中,购物车需要根据商品加入购物车/购物车商品删除/购物车商品下单等操作进行实时刷新数据. 最开始的处理方案就是:在购物车 ...

  8. STM32 网页服务器 LWIP websever ajax实时刷新 (一)

    STM32 网页服务器 LWIP websever ajax实时刷新 (一) 本项目主要功能是作为通讯板控制使用,主要有UDP.TCP.websever(网页服务器)和RS485等通讯功能.在使用的过 ...

  9. IE缓存导致数据不能实时更新的解决办法

    查看全文 http://www.taodudu.cc/news/show-5902634.html 相关文章: IE缓存设置问题 清除IE缓存 关于IE缓存所带来的数据不能实时更新的解决办法 解决ie ...

最新文章

  1. java windows wifi_[转] win7 电脑无线网变身WiFi热点
  2. Redola.Rpc 集成 Consul 服务发现
  3. jp在java中无法编译_JPanal上加图片的问题!
  4. JavaScript实现继承的几种方式
  5. 《Approximation Capabilities of Multilayer Feedforward Networks》的学习笔记
  6. 一文教你如何用 Python 将 iPhone “玩弄于股掌之中”!
  7. python的类与继承
  8. 片假名翻译软件测试,怎么写软件测试用例
  9. Vue开发环境的搭建
  10. R语言对数据进行非参数检验
  11. 微信的转账记录删除了还能恢复吗?2个办法教你找回
  12. 一款开源的PHP邮箱系统
  13. 云计算与大数据处理技术_云计算与大数据处理
  14. 基于高通X55平台的5G模组iperf灌包参数配置
  15. [IOS APP]小豆子幽默丛书
  16. 【最大费用流】【最优匹配】丘比特的烦恼 Vijos 1169
  17. html转m3u8地址,[转]m3u8直播测试地址
  18. android打电话 接电话 挂电话流程分析
  19. 良心整理!500G Java学习资料免费分享!
  20. 安装Anaconda3时遇到的问题

热门文章

  1. serverlet 区别_Servlet中/和/*的区别
  2. linux 目录说明
  3. jwt需要存redis吗_Spring Cloud Security:Oauth2结合JWT使用
  4. RS232接口是如何工作的?
  5. 【 MATLAB 】通过案例学会编写一个 matlab 函数(小猫掉进山洞问题)
  6. 2018年首单!基石资本成功发行了双创债 募集3.1亿元
  7. 深入理解ES6笔记(九)JS的类(class)
  8. 洛谷 P1843 奶牛晒衣服
  9. swift 笔记 (十二) —— 下标
  10. 备忘: VC++ 自动适用编译两种模式库文件 (DLL, LIB)