首页 > 其他分享 >5.12

5.12

时间:2024-05-12 23:19:12浏览次数:27  
标签:val text expanded selectedMetroSystem 5.12 地铁 mutableStateOf

改进昨天的代码

//选择地铁系统 组件 点击后 会有 下拉列表 可供选择
@Composable
fun MetroSystemSelection(
    metroSystemList: List<MetroSystem>,
    selectedMetroSystem: MetroSystem,
    selectMetroSystem: (MetroSystem) -> Unit
) {
    var expanded by rememberSaveable { mutableStateOf(false) }
    Column {
        OutlinedButton(
            onClick = { expanded = true },
        ) {
            //判断 是否已经选择了某个城市的地铁
            if (selectedMetroSystem.systemName.isEmpty()) {
                //没有选择则使用 默认名字
                Text(text = stringResource(id = R.string.select_metro_system))
            } else {
                //选择之后展示选择的 地铁系统
                Text(text = selectedMetroSystem.systemName)
            }
        }

        DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
            metroSystemList.forEach { system ->
                DropdownMenuItem(onClick = {
                    //保存选择的 地铁名称 和 id
                    selectMetroSystem(system)
                    expanded = false
                }, text = {
                    Text(text = system.systemName)
                })
            }
        }
    }
}

整理了一下 模型

    //保存所有的 地铁名称 和 id
    val metroSystems = mutableStateOf(emptyList<MetroSystem>())

    //用于保存选择后的 地铁名称 和 id
    val selectedMetroSystem = mutableStateOf(MetroSystem("", ""))

    //保存查询到的所有的 线路站点信息
    val metroStations = mutableStateOf(emptyList<MetroStation>())

    //MutableState 是一个表示可变状态的接口,它允许我们在 Composable 函数中修改状态,并且能够触发 UI 的重新组合。
    //mutableStateOf 是一个函数,它用于创建一个可变状态,并且初始化状态的初始值
    //保存搜索的 表单信息
    val searchRouteFormUiState = mutableStateOf(SearchRouteFormUiState())

    //保存选择的 要查询的线路
    val selectedMetroLine = mutableStateOf(MetroLine("", "", ""))

    //保存查询到的线路
    val metroLines = mutableStateOf(emptyList<MetroLine>())

标签:val,text,expanded,selectedMetroSystem,5.12,地铁,mutableStateOf
From: https://www.cnblogs.com/258-333/p/18188402

相关文章

  • 24年5.12流片复盘
    非常值得纪念的一天,因为去年这个时候流片delay,今年顺利流出去了,这是一个大的进步,但是还是要做复盘。首先是进度整体上的复盘。这次流片从一月初开始进行规划,到五月初投片,总共花费五个月时间,五个月内,按照最初的时间规划,一月是把规划基本都做完,给项目参与人员一段上手熟悉任务的时......
  • 5.12
    流萤v1实机像史,望周知。好图不好图空调好冷,要冻死了!开始无规律复习。优先数据结构(?)先补DP我DP太差了......
  • 5.12数组角标
    使用递增操作符的数组输入,比如说intb[100],i=0;while(cin>>a){b[i++]=a;}//在这个代码中,i是从1开始存数的,也就是数的范围从b[1]开始,而不是0 对于排序,并且输出排序之后的角标的那种题,就可以看作排序前a[1]=12(数)a[1]=1a[1]=16a[1]=19a[1]=54b[1]=1(角标)b[2]=2......
  • windows 使用MSVC2022编译 Qt 5.12.11
    准备准备一下安装程序,并添加到PATH环境变量。Perl选择64位Portable:PerlPortableRuby选择64位版本进行安装:ruby64bitPython安装Pythonjomnmake不支持并行编译,使用jom进行并行编译。下载jom,解压并添加到PATH环境变量。jomQt5.12.11编译下载地址:Qt5.12.11。使用MS......
  • Qt5.12配置OpenCV教程
    在开发图像处理和计算机视觉应用时,QT和OpenCV是两个不可或缺的工具。QT为我们提供了丰富的图形界面设计功能,而OpenCV则提供了强大的图像处理算法。那么,如何将这两者完美结合呢?本文将为你详细解析QT5.12与OpenCV的配置过程,让你轻松上手!一、软件下载1、QT 5.12.9下载地址:......
  • 已知IP地址是192.168.5.121,子网掩码是255.255.255.248,求网络地址和主机地址
    方法1首先,将Ip地址转换为二进制:192.168.5.121转换为二进制:11000000.10101000.00000101.01111001然后将子网掩码转换成二进制:255.255.255.248转换为二进制:11111111.11111111.11111111.11111000网络地址=IP地址&子网掩码192.168.5.121&255.255.255.248=192.168.5.12......
  • [Qt5] Error starting process C:\Qt\Qt5.12.0\5.12.0\msvc2015\bin\moc.exe:
    作者:丶布布文章预览:问题解决方式问题把工程代码从电脑A拷贝到电脑B,环境vs2015+QT5.12,出现如下错误:ErrorstartingprocessD:\Qt\Qt5.12.0\5.12.0\msvc2015\bin\moc.exe:系统找不到指定的文件经排查后发现电脑A使用的Qt版本是QT5.12.0,电脑B使用的Qt版本是QT5.12.1,程序在电脑A上......
  • 安装arm银河麒麟及Qt5.12.1
    一、安装银河麒麟虚拟机:qemu虚拟机安装银河麒麟V10arm架构系统桌面版_陆星材的博客-CSDN博客安装完(试用版)之后,点击桌面的“安装Kylin”图标,安装银河麒麟系统。将命令后面的“,drive=cdrom”删掉。执行即可打开麒麟系统。二、编译Qt5.12.1源码:教程1银河麒麟V10+飞腾CPU......
  • RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境
    前言  上一篇项目已经构建好了Qt,板子接入mipi屏幕也跑起来了,Qt也能正常运行了,现在需要接入定制开发的sdk,sdk中使用了硬解码等资源涉及到bsp的mpp,所以下一步就是引入mpp和sdk到Qt开发环境中,从而Qt中可以调用sdk接口进行进一步的应用结合开发了。 注意  本文公开了Q......
  • 如何预防网络数据丢失203.135.128.x
    数据丢失对于任何规模的企业来说都可能是灾难性的事件,并且代价高昂,这就是预防数据丢失至关重要的原因。企业可以使用各种程序来增强其网络安全性并防止数据丢失。此外,他们可以使用多种策略来管理数据泄露。数据备份和加密。在各种策略中,定期数据备份是企业应该实施的关键策略之一。......