# IllegalArgumentException：在 NavController 中未找到导航目的地 com.example:id/destHome

- **ID:** `android/navigation-destination-not-found`
- **领域:** android
- **类别:** runtime_error
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

导航操作引用了未在关联的 NavGraph 中声明的目的地 ID，通常是由于缺少片段或导航 XML 中的拼写错误。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| AndroidX Navigation 2.5.3 | active | — | — |
| AndroidX Navigation 2.6.0 | active | — | — |

## 解决方案

1. ```
   确保目的地 ID 在正确的 NavGraph 文件中声明（例如 nav_graph.xml），并且操作的 destination 属性完全匹配。示例：<fragment android:id="@+id/destHome" android:name="com.example.HomeFragment" />
   ```
2. ```
   使用 Safe Args 生成类型安全的导航操作。在 build.gradle 中添加 Safe Args 插件，并用生成的 Directions 类替换手动 navigate 调用。
   ```
3. ```
   通过调用 navController.setGraph(R.navigation.nav_graph) 在导航前验证 NavController 已使用正确的 NavGraph 初始化。
   ```

## 无效尝试

- **** — The destination ID might be misspelled or not present in the current NavGraph, causing the same error. (75% 失败率)
- **** — Each NavController uses a specific NavGraph; adding to the wrong file doesn't resolve the reference. (80% 失败率)
- **** — The error is a code configuration issue, not a cached state issue. (90% 失败率)
