android - 从 jetpack compose 中的另一个小部件访问小部件
问题描述
使用传统的 XML,您可以使用它的 id 或标签获取 View 的实例。
这在jetpack compose中怎么可能?
Card(elevation = 1.dp, shape = RoundedCornerShape(8.dp), color = Color.Transparent) {
// TARGET is here
Padding(padding = 8.dp) {
Text(text = "Net stat", style = +themeTextStyle { h6 })
}
}
Text(text = netStatusState.value)
HeightSpacer(height = 10.dp)
Divider()
HeightSpacer(height = 10.dp)
Card(elevation = 1.dp, shape = RoundedCornerShape(8.dp), color = Color.Transparent) {
Padding(padding = 8.dp) {
Clickable(onClick = {
// MODIFY (Remove, change element, update attr) the target
}) {
Button(text = "Click me if you can")
}
}
}
它甚至需要这样的功能,还是全部使用 state 完成?
解决方案
可组合项没有 ID,您通常不需要获取可组合项的实例。将可组合函数视为打印语句会很有帮助。就像 println() 函数获取一些数据并将其写入控制台一样,可组合函数获取数据并将这些数据测量/布局/绘制到屏幕上。
如果您更改数据,并且数据位于使用 @Model 注释的类中,Jetpack compose 系统将使用新状态再次自动调用相应的函数,并且您的 UI 将被更新。
推荐阅读
- javascript - 图像纵横比与新标签中的图像几乎没有区别
- node.js - Firebase Firestore 未显示在 nodejs 中创建的文档
- javascript - 请问有什么方法可以访问与 JavaScript 下拉列表中选择的值匹配的键吗?
- java - Java 可选 - 如何将一种类型的列表转换为另一种
- sass - 如何在检查元素中找到 scss 源地址文件?
- linux - 如何通过 bash 获取鼠标指针所在的窗口的 WID?
- postgresql - 在 postgres 日志文件中发现问题。太多“user=[unknown],db=[unknown],app=[unknown]”行
- django - 每次我尝试从 django admin 上传图像时,我都会收到此错误:“FOREIGN KEY 约束失败”
- python - 为什么“pip install”命令没有被 docker 缓存?
- markdown - 我可以使用 vuepress 和 vuepress-theme-hope 来做一些这样的事情吗?