小编Kom*_*ito的帖子

如何使用 JetPack Compose 在 LazyColumn 项目中单击导航到详细信息视图?

我正在尝试使用 JetPack Compose 创建一个应用程序(第一次),但导航时遇到一些问题。该应用程序有一个包含 3 个项目的底部栏,可导航到所选屏幕。

这是有效的,问题是当我尝试访问屏幕之一中的 LazyColumn 的项目之一时。我想导航到另一个屏幕(配置文件),其中显示所选项目的数据,但我找不到方法。无论我如何尝试,我总是得到这个“@Composable 调用只能在 @Composable 函数的上下文中发生”。

有人可以帮助我解释如何做吗?我想要的是了解如何以及为什么,而不仅仅是复制。

谢谢

主要活动

class MainActivity : ComponentActivity() {

    @ExperimentalFoundationApi
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)


        setContent {
            val systemUiController = rememberSystemUiController()

            SideEffect {
                systemUiController.setStatusBarColor(color = PrimaryDark)
            }
            AppTheme() {


                MainScreen()

            }

        }
    }

    @ExperimentalFoundationApi
    @Composable
    fun MainScreen() {
        val navController = rememberNavController()
        val navigationItems = listOf(Obras, Talleres, Ajustes)
        Scaffold(bottomBar = {
            BottomNavigationBar(
                navController = navController,
                items = navigationItems
            )
        }) {

            NavigationHost(navController)
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

导航主机.kt

@ExperimentalFoundationApi
@Composable …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-navigation android-jetpack-compose

7
推荐指数
1
解决办法
5645
查看次数