Android Compose - 将@Composables 存储到数组中

标签 android android-jetpack-compose

我想通过将 Composables 存储到 Array/Stack 中来实现简单的导航,这样我就可以使用 Back 按钮将它们取回。但我不知道如何将 Composable 添加到 Array 中。尝试声明匿名 Composable 以便我可以将其变量放入堆栈但它不编译?我可以将函数名放入数组吗?

  var Details1 = @Composable
  fun() {
    Column(Modifier.fillMaxSize()) {
      Text("Details 1")
    }
  }

  var views = arrayOf(Details1)

最佳答案

这似乎有效

// make an alias
typealias ComposableFun = @Composable () -> Unit
// composable function as lambda
val Test : ComposableFun = { Text("Test") }
// list of composable functions
val composableFuns = listOf(Test, Test, Test)

// elsewhere
composableFuns[0]()

关于Android Compose - 将@Composables 存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64223825/

相关文章:

Android 保持 Activity 状态

java - 返回值的可运行替代方案

Java 到 Kotlin 转换器和可为空的方法参数

android - 自定义ListView后台问题

android - Jetpack Compose LazyColumnFor 已弃用,如何将 LazyColumn 与 listState 和对象列表一起使用?

android - 如何从文本按钮中删除填充?

java - 从 sqlite 数据库中检索数据是通过此代码完成的

android - 如何在 Android Jetpack Compose 中制作圆底导航

android - 自定义布局忽略可组合项的大小

android - 如何将悬挂图标放置在卡片可组合项的右上角