jetpack compose - wie starte ich eine neue Activity?
Hallo zusammen
Ich habe folgendes Composable in meinem Code:
@Composable
fun Toolbar() {
// Create a boolean variable
// to store the display menu state
var mDisplayMenu by remember { mutableStateOf(false) }
// fetching local context
val mContext = LocalContext.current
// Creating a Top bar
TopAppBar(
title = { Text(stringResource(R.string.app_name)) },backgroundColor = Color(0xFFFFFFFF),
actions = {
// would create a Toast message
IconButton(onClick = {
val intent = Intent(this, LockScreenActivity::class.java)
startActivity(intent)
Toast.makeText(mContext, "Lock app...", Toast.LENGTH_SHORT).show() }) {
Icon(Icons.Outlined.Lock, "")
Nun möchte ich gerne, dass wenn man auf das lock icon klickt, die dazugehörige Activity "LockScreenActivity" gestartet wird. Folgende Fehlermeldung erhalte ich jedoch bei "val intent = Intent"
None of the following functions can be called with the arguments supplied.
<init>(Context!, Class<*>!) defined in android.content.Intent
<init>(String!, Uri!) defined in android.content.Intent
Ich weiss nicht genau, warum diese Fehlermeldung auftritt bzw. warum es nun noch ein Argument benötigt. Könnte mir bitte Jemand helfen?
Eine Zeile weiter unten bestätigt sich nochmals mein Fehler mit der Meldung No value passed for parameter 'intent'
No value passed for parameter 'intent'
Vielen Dank für jede Hilfe.
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, Code, Programmieren & Softwareentwicklung
Der LocalContext müsste an das Intent-Objekt übergeben werden. Über ihn rufst du ebenso die startActivity-Methode auf.
val intent = Intent(mContext, LockScreenActivity::class.java)
mContext.startActivity(intent)