按下按鈕後跳轉到 SecondActivity
MainActivity.kt
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
MainScreen()
}
}
}
@Composable
fun MainScreen() {
Box(
modifier = Modifier
.fillMaxSize(),
) {
val context = LocalContext.current
Button(
onClick = {
val intent = Intent(context, SecondActivity::class.java)
context.startActivity(intent)
},
modifier = Modifier
.align(Alignment.Center)
) {
Text(
text = "Open New Activity"
)
}
}
}
SecondActivity.kt
class SecondActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
SecondScreen {
finish()
}
}
}
}
@Composable
fun SecondScreen(
onBackClicked: () -> Unit
) {
Box(
modifier = Modifier
.fillMaxSize()
) {
Button(
onClick = onBackClicked,
modifier = Modifier
.align(Alignment.Center)
) {
Text(
text = "Back"
)
}
}
}
finish() 會結束目前的 SecondActivity,然後返回 backstack 裏的上一個 Activity,也就是 MainActivity
LocalContext.current 只能使用在 Composable function 中
Comments