我想用硬编码数据制作简单的30天应用程序,但我有代表当天的变量,我想增加它,但当我这样做时,它做得不太正确.

@Composable
fun _30DaysApp() {
    var curDay by remember { mutableStateOf(1) }
    Scaffold(topBar = {
    }) { it ->
        LazyColumn(contentPadding = it) {
            items(tasks) {
                CardTask(task = it, day = curDay)
                curDay++

            }
        }
    }
}

@Composable
fun CardTask(task: Task, day: Int, modifier: Modifier = Modifier) {
    var expand by remember { mutableStateOf(false) }
    Card(shape = RoundedCornerShape(16.dp)) {
        Column(
            modifier = modifier
                .padding(12.dp)
        ) {
            Row {
                Text(text = stringResource(R.string.day, day))
                Spacer(modifier = modifier.weight(1f))
                ExpandButton(expanded = expand, onClick = { expand = !expand })
            }
            Text(text = stringResource(task.articleRes))
            Spacer(modifier = Modifier.size(8.dp))
            Image(
                painter = painterResource(task.imageRes), contentDescription = null,
                contentScale = ContentScale.Fit
            )
        }
    }
}

试图将其提升到CardTask功能,但仍然不起作用.有人能帮助我吗?

推荐答案

在我看来,您可以完全删除该变量.你不需要一个国家来做任何事情.相反,请像这样构建LazyPost:

LazyColumn(contentPadding = it) {
    itemsIndexed(tasks) { index, task ->
        CardTask(task = task, day = index + 1)
    }
}

唯一值得使用这样的变量的是,如果您想在运行时出于某种原因更改"+ 1".Then需要状态变量.但在构建LazyPost时不得更改.

Android相关问答推荐

在Android、Room中重新安装应用程序时,如何删除数据库中的所有条目并完全重新初始化它,包括主密钥?

如何在cordova 中播放html5视频标签?

修改参数应该应用于哪些子元素?

如何使用Jetpack Compose使水平pager 显示离屏页面?

译码BLE血糖仪特征值

Jetpack Compose和Android Studio中的普通设计工具有什么不同?

如何从Android 12的来电中获取电话号码?

react 本机生成失败,出现异常.错误:无法确定';<;宏/>;的类型

Jetpack Compose 使用 SavedStateHandle 发送返回结果不适用于 ViewModel 中注入的 SavedStateHandle

如何在另一个函数中初始化主类参数? (我是初学者)代码推荐

当我想使用例如 material3 时,为什么我需要添加对 material 的依赖?底部导航?

如何在 Jetpack Compose 中对齐按钮底部中心?

如何让这个三角形指示器在 android jetpack compose 中旋转和移动?

来自位图的 WearOS 图标不显示 colored颜色

在compose中,为什么修改List元素的属性,LazyColumn不刷新

将房间中的实体更新为 isCompleted 并使用 Flow 问题获取所有数据

插入查询室 OnConflictStrategy.REPLACE

Kotlin Compose forEach 中的负间距

如何使用 Jetpack Compose 在应用程序中实现本地化

如何删除 Ktor 客户端 2.0.0 的默认标头