SOLVED

Compose Jetpack TwoPaneLayoutNav can find route for pane1 but not for pane2

Iron Contributor

Hi team, 

long time no see but here I'm with another problem which is properly caused by not understanding the API.

 

I use the version:

implementation("com.microsoft.device.dualscreen:twopanelayout:1.0.1-alpha06")

 

My code

Based on the tutorial, I tried to get my TwoPaneLayoutNav working.

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            val navController = rememberNavController()

            TwoPaneLayoutNav(
                navController = navController,
                singlePaneStartDestination = "regions",
                pane1StartDestination = "regions",
                pane2StartDestination = "regions"
            ) {
                composable("regions") {
                    RegionsScreen(
                        navigateToRegion = { id -> navController.navigate("regions/${id}")}
                    )
                }
                composable("regions/{id}") { backStackEntry ->
                    val id = backStackEntry.arguments?.getString("id")
                    RegionScreen(regionId = id ?: "A")
                }
            }
        }
    }
} 

 

The problem 

But as soon as I span the app across both screens, the app crashes with the following error:

java.lang.IllegalArgumentException: Invalid route regions, not present in list of routes []

I tried not just "regions" but "regions/a", too. Both does not work. If I introduce another path like "test" is also does not work. In single screen mode, everything works as expected.

 

Thanks for your help!

3 Replies
Thanks Tobias for the feedback! I'll continue the discussion in the Github issue.
best response confirmed by tscholze (Iron Contributor)
Solution

@khalper 

It was a false friend during import.

Following tip fixed it: https://github.com/microsoft/surface-duo-compose-sdk/issues/56#issuecomment-1500713025 

 

@Papes96 Thanks for your help on GitHub!

1 best response

Accepted Solutions
best response confirmed by tscholze (Iron Contributor)