首页 > 其他分享 >MutableLiveData 旧数据问题

MutableLiveData 旧数据问题

时间:2024-06-11 16:43:28浏览次数:22  
标签:observer super 问题 observe MutableLiveData owner 数据 pending

`
/**

  • 解决粘性问题,解决后添加的observe会收到老数据问题
    */
    class UnPeekLiveData : MutableLiveData() {

    private var pending = false

    override fun setValue(value: T?) {
    pending = true
    super.setValue(value)
    }

    override fun observe(owner: LifecycleOwner, observer: Observer) {
    super.observe(owner, Observer { t ->
    if (pending) {
    pending = false
    observer.onChanged(t)
    }
    })
    }

    /**

    • 为了保持与LiveData.observe的一致性,提供一个观察方法不需要粘性事件。
      */
      fun observeSticky(owner: LifecycleOwner, observer: Observer) {
      super.observe(owner, observer)
      }
      }`

标签:observer,super,问题,observe,MutableLiveData,owner,数据,pending
From: https://www.cnblogs.com/lizhanqi/p/18242335

相关文章

  • Windows共享文件夹常见问题解决方法
    目录你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问允许自己电脑去访问局域网其他电脑的共享文件允许局域网内别人电脑访问自己电脑的共享文件你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问参考:https://blog.csdn.net/qq28574......
  • 基于Vue+Node.js的高校学业预警系统+10551(免费领源码)可做计算机毕业设计JAVA、PHP、爬
    NodeJS高校学业预警系统摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,教育行业当然也不能排除在外。高校学业预警系统是以实际运用为开发背景,运用软件工程开发方法,采用Node.JS技术构建的一个管理系统。......
  • C语言中的数据类型及其转换
    目录计算机中的数据类型整型数据之间的转换相同字长之间的转换小字长转大字长大字长转小字长int、float、double之间的转换float->doubledouble->floatfloat/double->intint->floatint->double计算机中的数据类型计算机中的数据以二进制的形式存储在寄存器或存储器中。机器怎......
  • Sql Server 分批复制数据
    添加辅助列ALTERTABLEdbo.SourceTableADDIsCopiedBITNOTNULLDEFAULT0;这里要给源表添加一个标识列,是因为我不想用到ORDERBY。当然也可以改成不用辅助列,用ORDERBY的方式。创建目标表SELECT*INTODestinationTableFROMdbo.SourceTableWHERE1=0;当条件不满......
  • 使用python处理excel数据
    使用python处理excel数据python处理excel数据时间差计算平均量计算excel处理后数据python处理excel数据excel数据有一列是开始时间,一列为结束时间,计算时间差,时间差>1h,将数据平均为1h。时间差>1h,总量也将平均到每个小时,如第三行数据,时间差为4h,数据为5.2,所以每小时......
  • 数据结构--第十章--内排序
    插入排序直接插入排序是一种稳定的排序方法快速排序递归调用树与性能分析快排算法实际上就是对枢轴的左右分区进行递归操作高效实现的快速排序算法是不稳定的且很复杂堆排序堆排序是不稳定的排序方法归并排序基数排序......
  • 细说ARM MCU的串口接收数据的实现过程
    目录一、硬件及工程1、硬件2、软件目的3、创建.ioc工程二、代码修改1、串口初始化函数MX_USART2_UART_Init()(1)MX_USART2_UART_Init()串口参数初始化函数(2)HAL_UART_MspInit()串口功能模块初始化函数2、串口中断的执行过程3、启动串口接收中断4、自动生成main函数5......
  • Mssql数据注入
    1.查询用户创建的数据表selectid,name fromsysobjectswherextype='u'; 2.查询用户创建数据表的具体列名select*fromsyscolumnswhere id=上一步获取的id值;3.查询具体内容selectid,字段名from数据表名;4.数据库名db_name()5.用户登录名suser_name()6......
  • 巧妙使用mapstruct来解决数据库entiy到实体dto的映射关系
    1.引入mapstruct<dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-p......
  • 【问题】--vscode快捷键
      (1)alt+“鼠标单击”:实现多行任意位置同时操作      (2)Ctrl+Alt,再按向上或 向下 的键, 进行多列操作。(用的少)         (3)shift+Alt,按住用鼠标左键拖动, 进行多列操作。       ......