当前位置: 首页 > news >正文

android jetpack compose Model对象更新变量 UI不更新、不刷新问题

以前是搞老本行Android原生开发的,因为工作原因,一直在用vue小程序;因为一些工作需要,又需要用到Android原生开发,建了个项目,打开源码一看,天塌了!!!我以前的layout.xml布局呢,怎么变成android jetpack compose组件了。百度一看说是Android最新的框架组件,哎~~本着能吃一口细糠,不吃一口粗粮的原则,学习了一下Compose;以下是我约到的难题,建立了一个Model类,然后Model变量更新,UI不刷新也不更新;后面解决了,记录一下!

  1. 首先,我建立了一个Model对象:

class DeviceGpioMModel  {var iconUnUse: Int? = nullvar icon: Int? = nullvar iconStop: Int? = nullvar name: String? = nullvar notes: String? = nullvar port: Int? = nullvar use  by mutableIntStateOf(0)fun useDevice() {this.use=1}fun getShowIcon(): Int {return when (use) {1 -> // 使用中icon!!2 -> // 暂停iconStop!!else -> // 未使用iconUnUse!!}}fun getStatusIcon(): Int {return R.drawable.ic_yunxing_u}
}

然后我的需求是,实例化上面的对象,然后点击组件,把use状态改为1,然后组件在调用getShowIcon()方法来获取对应的图标状态

  1. 以前的老代码:
var use  = 0
  1. 新的代码:
var use by mutableIntStateOf(0)

只需要把变量换成 by mutable相关state的方法,然后ui就会自动刷新了!

http://www.lryc.cn/news/510214.html

相关文章:

  • 数据库概论
  • 基于python使用UDP协议对飞秋进行通讯—DDOS
  • 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
  • 使用Streamlit部署机器学习模型
  • 依图科技简介
  • 苍穹外卖day07缓存部分分析
  • OCR实践-Table-Transformer
  • HarmonyOS NEXT 实战之元服务:静态案例效果---电台推荐
  • 微信小程序 不同角色进入不同页面、呈现不同底部导航栏
  • MATLAB符号计算-符号表达式基础运算操作
  • 服务器被攻击怎么办
  • 精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目
  • 【UE5 C++课程系列笔记】13——GameInstanceSubsystem的简单使用
  • 实用工具推荐----Doxygen使用方法
  • js垃圾回收机制详细讲解
  • 【Linux/踩坑】Linux中启动eclipse或HDFS因JAVA_HOME设置报错
  • 百度千帆平台构建AI APP的基础概念梳理
  • Unity3D Huatuo技术原理剖析详解
  • 记Fastjson2的一个报ConcurrentModificationException的bug
  • 使用TimesFM 对车辆销售进行预测
  • OpenEuler 22.03 不依赖zookeeper安装 kafka 3.3.2集群
  • ubuntu 将python3.8 升级为python3.10并进行版本切换
  • 3. Kafka入门—安装与基本命令
  • 如何使用 python创建图片格式转换器
  • 命令行之巅:Linux Shell编程的至高艺术(上)
  • 【gulp】gulp 的基本使用
  • Linux 下处理 ^M 字符的最佳实践
  • 【优选算法】—复写零(双指针算法)
  • 2024国赛A问题三和四
  • asp.net 高校学生勤工俭学系统设计与实现