elye
01/19/2022, 8:16 PMThis function has a reified type parameter and thus can only be inlined at compilation time, not called directly
@Composable
fun Launcher() {
val context = LocalContext.current
LazyColumn(modifier = Modifier.fillMaxWidth(),
horizontalAlignment = Alignment.CenterHorizontally) {
item {
context.StartActivityButton<LaunchedEffectActivity>()
}
}
}
@Composable
private inline fun <reified T : Activity>Context.StartActivityButton() {
Button(onClick = {
startActivity(Intent(this, T::class.java))
}) {
Text(T::class.toString())
}
}
More info here https://stackoverflow.com/q/70768211/3286489mattinger
01/19/2022, 9:04 PMelye
01/19/2022, 9:06 PMmattinger
01/19/2022, 9:07 PMprivate inline fun <reified T: Activity> Context.StartActivityButton()
: @Composable () -> Unit {
return {
Button(onClick = {
startActivity(Intent(this, T::class.java))
}) {
Text(T::class.java.toString())
}
}
}
LocalContext.current.StartActivityButton<Activity>()()
Zach Klippenstein (he/him) [MOD]
01/19/2022, 10:52 PMelye
01/20/2022, 3:49 AM