LiveData学习
ViewModel中持有一个数据对象
//将“秒钟”这个字段用MutableLiveData包装起来
private var currentSecond: MutableLiveData<Int>? = null
fun getCurrentSecond(): LiveData<Int>? {
if (currentSecond == null) {
currentSecond = MutableLiveData(0)
}
return currentSecond
}
// 通过LiveData.observe()实现对ViewModel中数据变化的观察
liveData.observe(this, object : Observer<Int> {
override fun onChanged(@Nullable second: Int) {
//收到回调后更新UI界面
(findViewById(R.id.tv_timer) as TextView).text = "TIME:$second"
}
})
当数据变更时会自动通知监听者
fun startTiming() {
viewModelScope.launch {
repeat(100){
delay(1000)
val data: MutableLiveData<Int> = getCurrentSecond() as MutableLiveData<Int>
data.value = data.value!! + 1
println("Current value is ${data.value}")
}
}
}
LiveData学习相关推荐
- Android Jetpack Components of LiveData 学习笔记
Android Jetpack Components of Lifecycle 学习笔记 Android Jetpack Components of LiveData 学习笔记 Android Jet ...
- ViewModel学习
前置LiveData学习 没有使用viewModel之前,LiveData数据和逻辑的处理都放在activity里面,代码逻辑不清晰 现在将LiveData数据和逻辑处理放在ViewModel中,可以 ...
- Android Jetpack Components of ViewModel 学习笔记
Android Jetpack Components of Lifecycle 学习笔记 Android Jetpack Components of LiveData 学习笔记 Android Jet ...
- Android学习笔记 93. Room、LiveData 和 ViewModel
Android学习笔记 Android 开发者基础知识 (Java) -- Google Developers 培训团队 文章目录 Android学习笔记 Android 开发者基础知识 (Java) ...
- 记录每天学习的新知识:LiveData
LiveData 前言 LiveData 使用 LiveData 的优势 使用 更新 转换 合并 扩展 - 自定义LiveData 参考地址 前言 Jetpack 是一个丰富的组件库,它的组件库按类别 ...
- 豆瓣评分 8.6,近 5 万读者学习的 Android 经典最新版出版,承载无数程序员的回忆......
题图 | 新的小绿人 © Google "出色向导" 对新手来说,学习 Android 开发一开始会很难.就像初次踏入异国他乡一样,即使会说当地语言,一开始也绝不会有舒服自在的感觉 ...
- LiveData ViewModel 使用详解
什么是 LiveData LiveData 是一个可观测的数据持有类,但是不同于通常的被观察者,LiveData 具有生命周期感知能力.通俗点说,LiveData 就是具有 "Live&qu ...
- Android架构组件LiveData+ViewModel
前言 最近项目中有用到LiveData+ViewModel的架构组件,今天来学习一波.本篇文章参考:MVVM 架构,ViewModel和LiveData 所有语言为Kotlin. LiveData L ...
- Andriod --- JetPack (五):DataBinding + LiveData +ViewModel 简单实例
1.Andriod - JetPack (一):初识 JetPack 2.Andriod - JetPack (二):LifeCycle 的诞生 3.Andriod - JetPack (三):Vie ...
最新文章
- 注册修复动态链接库DLL文件
- .NET Core使用EF分页查询数据报错:OFFSET语法错误问题
- PAT甲级1144 The Missing Number:[C++题解]哈希表
- 里面怎么定义变量_小哥今天要给朋友们分享一下Java编程语言中的变量与常量的区别...
- odbc mysql导出access_将mysql数据导入access数据库
- CentOS7.6下设置mysql服务开机启动
- Bailian2682 循环移动【模除】
- server2008r2经常蓝屏或者自动重启
- 编写一个程序,给出汉字“你” “我” “他”在Unicode表中的位置
- 在网站中使用谷歌“ROBOTO”字体(解决ios数字1和0大小不等宽问题)
- Homebrew国内加速
- PHP+企业微信网页授权登陆
- Excel如何快速删除指定区域公式保留数值
- html版贪吃蛇的项目计划书,自动贪吃蛇.html
- 区块链服务网络(BSN)技术详解
- 快递单号查询免费api接口(PHP示例)
- 嘉为蓝鲸CPack制品库正式发布,以制品之力打破研运界限
- (激励自己学习)努力吧,现在也不晚(转)
- linux将目录打包压缩,linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?...
- int转换成char
热门文章
- Java8函数式编程(2)--流与管道
- java.util.function包
- 用python画一个人_用turtle画个单身狗送给自己~
- python请输入_不断提示用户输入Python
- Ubuntu 华为开源镜像站 Mirror
- Cortex-M3-复位(序列)
- MAX13085E/MAX485 _中文翻译
- Linux下main函数带参数问题和atoi函数详解
- Left 4 Dead升级补丁总汇(3663-3986)
- [XSS神器]XssEncode chrome插件 - 0x_Jin