news 2026/2/25 0:48:48

Android 开发 - mutableStateListOf 与 mutableListOf

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 开发 - mutableStateListOf 与 mutableListOf

mutableStateListOf 与 mutableListOf

1、基本介绍
  1. mutableStateListOf 来自 Jetpack Compose 的运行时库,它是可观察的,列表变化会触发重组,主要用于 UI 状态管理

  2. mutableListOf 来自 Kotlin 标准库,它是不可观察的,列表变化不会触发重组,是通用的集合数据结构

  • 二者都支持列表的标准操作,性能开销上面,mutableStateListOf 开销较高,因为有观察机制
2、演示
  1. 使用 mutableStateListOf,会更新 UI
varfruitList=remember{mutableStateListOf("苹果","香蕉","橙子")}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
  1. 使用 mutableListOf,不会更新 UI
valfruitList=remember{mutableListOf("苹果","香蕉","橙子")}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
3、使用 mutableListOf 更新 UI
  1. 如果想让 mutableListOf 更新 UI,使用 mutableStateOf 包装列表,修改时必须赋值新的列表
varfruitListbyremember{mutableStateOf(mutableListOf("苹果","香蕉","橙子"))}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={valnewFruitList=fruitList.toMutableList()newFruitList.add("葡萄")fruitList=newFruitList}){Text("添加葡萄")}}
  1. 如果修改时没有赋值新的列表,不会更新 UI
varfruitListbyremember{mutableStateOf(mutableListOf("苹果","香蕉","橙子"))}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 1:21:26

百考通AI:智能问卷设计,让市场调研与用户洞察变得简单高效!

在数据驱动决策的时代,问卷调研已成为企业了解用户需求、优化产品体验、提升市场竞争力的核心工具。然而,传统问卷设计过程繁琐复杂:从确定调研目标、设计问题类型,到逻辑编排调整,每一个环节都耗费大量时间与精力。对…

作者头像 李华
网站建设 2026/2/14 5:15:39

『n8n』对接豆包、千问、文心、Kimi等大模型

点赞 关注 收藏 学会了 整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》 用 n8n 做自动化工作流时,可能会遇到一个头疼的问题:想调用豆包、千问、文心一言、Kimi 这些常用国产大模型,却发现 n8n …

作者头像 李华
网站建设 2026/2/19 15:23:08

从流水线到LOVE:一个MIPS32软核的奇幻漂流

MIPS32的CPU设计源码,FPGA,五级流水线。 语言:VerilogC汇编 硬件平台:Altera DE1/DE2 每添加新指令都有完整工程,最后增加了Wishbone总线并移植了ucosii内核。 可使用汇编语言或者C语言生成指令。 图为使用挂载在总线上的GPIO点亮数码管显示L…

作者头像 李华
网站建设 2026/2/19 9:00:33

2004-2024年上市公司战略激进数据

数据简介 企业战略激进度:计算企业六大维度的过去5年的均值(研发创新倾向、市场扩张倾向、公司成长性、公司生产效率、组织结构稳定性、公司资本密度,并进行赋值1-4分,最终汇总得到战略激进度。由于数据库的研发投入缺失严重,采用…

作者头像 李华
网站建设 2026/2/19 22:01:03

解决Hibernate3与Weblogic10冲突全攻略

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…

作者头像 李华