asp.net中文官方网站,手机app软件开发语言,WordPress限时账号,用qt做网站可以吗以前是搞老本行Android原生开发的#xff0c;因为工作原因#xff0c;一直在用vue小程序#xff1b;因为一些工作需要#xff0c;又需要用到Android原生开发#xff0c;建了个项目#xff0c;打开源码一看#xff0c;天塌了#xff01;#xff01;#xff01;我以前的…以前是搞老本行Android原生开发的因为工作原因一直在用vue小程序因为一些工作需要又需要用到Android原生开发建了个项目打开源码一看天塌了我以前的layout.xml布局呢怎么变成android jetpack compose组件了。百度一看说是Android最新的框架组件哎~~本着能吃一口细糠不吃一口粗粮的原则学习了一下Compose以下是我约到的难题建立了一个Model类然后Model变量更新UI不刷新也不更新后面解决了记录一下
首先我建立了一个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.use1}fun getShowIcon(): Int {return when (use) {1 - // 使用中icon!!2 - // 暂停iconStop!!else - // 未使用iconUnUse!!}}fun getStatusIcon(): Int {return R.drawable.ic_yunxing_u}
}
然后我的需求是实例化上面的对象然后点击组件,把use状态改为1然后组件在调用getShowIcon()方法来获取对应的图标状态
以前的老代码
var use 0新的代码
var use by mutableIntStateOf(0)只需要把变量换成 by mutable相关state的方法然后ui就会自动刷新了