我有一个android应用程序1 MainActivity.
导航菜单使用可合成文件的列表来启动相应的可合成文件.我们 for each 可组合函数创建了一个类文件,但它只包含两个可组合函数.
package com.example.Scanner.screens
import ...
@Composable
fun Screen1(modifier: Modifier = Modifier) {
Text(text = "hi")
}
@Preview(showBackground = true)
@Composable
fun Screen1Preivew() {
Scanner1Theme {
Screen1()
}
}
我想做一个所有这些可组合继承的类.所以我不需要复制粘贴代码.我可能把所有的组合都创建错了,因为我没有看到一个类定义或继承任何东西的方法.
@Composable
fun SystemBroadcastReceiver(
systemAction: String,
onSystemEvent: (intent: Intent?) -> Unit
) {
// Grab the current context in this part of the UI tree
val context = LocalContext.current
// Safely use the latest onSystemEvent lambda passed to the function
val currentOnSystemEvent by rememberUpdatedState(onSystemEvent)
// If either context or systemAction changes, unregister and register again
DisposableEffect(context, systemAction) {
val intentFilter = IntentFilter(systemAction)
val broadcast = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
currentOnSystemEvent(intent)
}
}
context.registerReceiver(broadcast, intentFilter)
// When the effect leaves the Composition, remove the callback
onDispose {
context.unregisterReceiver(broadcast)
}
}
}
可组合的对象看起来不像一个对象,而是一个类之外的函数.
任何帮助将不胜感激.