ivoronline
ivoronline

Reputation: 1105

Android Compose - Store @Composables into Array

I would like to implement simple navigation by storing Composables into Array/Stack so that I could get them back with Back button. But I don't know how to add Composable into Array. Tried declaring anonymous Composable so that I could put its variable into stack but it doesn't compile? Can I somwhow put function name into Array?

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

  var views = arrayOf(Details1)

Upvotes: 4

Views: 2361

Answers (1)

machfour
machfour

Reputation: 2729

This seems to work

// 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]()

Upvotes: 8

Related Questions