Represent the detail destination as a serializable data class whose argument is a `Long`: ```kotlin @Serializable sealed interface ProductScreen { @Serializable data object List : ProductScreen @Serializable data class Detail(val productId: Long) : ProductScreen } ``` Register and navigate to it using the typed APIs: ```kotlin NavHost( navController = navController, startDestination = ProductScreen.List, ) { composable<ProductScreen.List> { ProductListScreen( onProductClick = { productId -> n...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill android-navigation-type-safe --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Android Navigation Type Safe?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-android-navigation-type-safe-1be4c507)More formats (shields.io, HTML) on the badges page.
Represent the detail destination as a serializable data class whose argument is a `Long`:
```kotlin
@Serializable
sealed interface ProductScreen {
@Serializable
data object List : ProductScreen
@Serializable
data class Detail(val productId: Long) : ProductScreen
}
```
Register and navigate to it using the typed APIs:
```kotlin
NavHost(
navController = navController,
startDestination = ProductScreen.List,
) {
composable<ProductScreen.List> {
ProductListScreen(
onProductClick = { productId ->
navController.navigate(ProductScreen.Detail(productId))
},
)
}
composable<ProductScreen.Detail> { backStackEntry ->
val route = backStackEntry.toRoute<ProductScreen.Detail>()
ProductDetailScreen(productId = route.productId)
}
}
```
`Long` is part of the typed route data, so callers pass the actual `Long` value and the destination reads it through `toRoute<ProductScreen.Detail>()`. Do not concatenate `productId` into a string route or manually read it from a `Bundle`. The screen should receive the decoded `productId` (and navigation callbacks) as ordinary parameters.
Is this your skill, or is something wrong with this listing? . Author removals are honored within 72 hours.
No comments yet. Be the first to comment!