You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Jetpack Compose Navigation 疑问:Composable页面是否为Fragment?

你提供的示例代码如下:

NavHost(
        navController = navController,
        startDestination = FRAGMENT_ONE
    ) {
        composable(FRAGMENT_ONE) {
            FragmentOneScreen()
        }
        composable(FRAGMENT_TWO) {
            FragmentTwoScreen()
        }
        composable(FRAGMENT_THREE) {
            FragmentThreeScreen()
        }
    }

问题1答复:三个Composable方法对应的页面不属于Fragment

你使用的是Compose专属的navigation-compose导航组件,composable()方法声明的是纯Compose目的地,和androidx.fragment.app.Fragment没有任何关联,底层也不会自动创建Fragment实例。这三个带@Composable注解的方法只是普通的Compose页面渲染函数,不属于Fragment范畴。

问题2答复:该实现是合规的官方推荐方案

因为这三个页面本身就不是Fragment,所以不存在“Fragment间导航”的说法。你用的纯Compose导航是官方主推的纯Compose项目的标准导航方案,完全合规。
只有当你需要用Fragment承载Compose页面时,才需要创建继承androidx.fragment的类、在onCreateView中返回ComposeView,再配合navigation-fragment组件实现导航。纯Compose项目不需要做这些额外操作。


内容的提问来源于stack exchange,提问作者Milan Cvetkovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:06:03