Ausgewähltes Element verwalten Bildschirmnavigation Ein Aktivitäten (Prozesstod) nicht aktiviert lassenAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Ausgewähltes Element verwalten Bildschirmnavigation Ein Aktivitäten (Prozesstod) nicht aktiviert lassen

Post by Guest »

Ich verwende Jetpack Compose mit NavController, um die Navigation in meiner App zu verwalten. Ich habe einen Bildschirm, auf dem ich den Bildschirm löschen möchte, wenn das ausgewählte Element sofort null ist, oder die Navigation einschränken oder ein Popup-Fenster möchte, wenn der Benutzer nach einem niedrigen Speicherdruck oder einem Prozesstod zum Bildschirm zurückkehrt > Außerdem ist das ausgewählte Element null, da das Viewmdoel aufgrund eines Prozessabbruchs neu erstellt wird, aber ich konnte sehen, dass die Navigation immer noch im Stapel ist. Ich möchte nicht durch diesen Bildschirm navigieren. Wie gehe ich damit um?
Auch der folgende Code ist garantiert?

Code: Select all

@Composable
fun DetailedServiceScreen(
navController: NavController,
viewModel: ServicesViewModel
) {
val selectedItem by viewModel.selectedItem.collectAsState()

// Use DisposableEffect to handle disposal and backstack pop
DisposableEffect(Unit) {
onDispose {
if (selectedItem == null) {
// Pop the backstack if selectedItem is null
navController.popBackStack()
Log.e(TAG, "Disposed and popped back stack")
}
Log.e(TAG, "Dispose called")
}
}

// Your composable content here
if (selectedItem != null) {
// Display detailed content if item is selected
DetailedServiceContent(selectedItem = selectedItem)
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post