admin管理员组

文章数量:1323724

I'm using Jetpack Compose with NavController to manage navigation in my app. I have a screen where I want to clear the screen when seleted item is null immediately or restrict navigation or pop when user come back to screen after low memory pressure/ process death happens Also there is elcted item will be null becuase it viewmdoel is recreated due to process death but i could see the navigation is still in stack i dont want to naviate that screen. How to deal that?

Also the below code is gurantee?

@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)
    }
}

本文标签: