问题标签 [jetpack-compose-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4042 浏览

android - Compose-Navigation:在导航之前从堆栈中删除以前的可组合

我正在使用compose-navigation(alpha09) 来处理可组合项之间的导航

我想在移动到下一个目的地时删除启动画面(我不希望后按回到启动画面)

以下尝试未按预期工作:

那么如何删除启动画面然后移至下一个?

0 投票
2 回答
4524 浏览

android-jetpack-compose - 如何在jetpack compose的导航中传递对象?

文档中,我可以传递字符串、整数等。但是如何在导航中传递对象?

注意:如果我将参数类型设置为 parcelable ,那么应用程序会以java.lang.UnsupportedOperationException: Parcelables don't support default values..

0 投票
1 回答
1720 浏览

kotlin - 如何从 Compose-Navigation 中的后台堆栈中删除可组合项

我的应用程序中有一个屏幕,允许用户编辑数据库中的项目,在用户完成编辑项目后,他们单击“完成”按钮,将他们带到上一个屏幕。但是当用户单击后退按钮时,他们将再次进入编辑屏幕。

我想要的是当用户单击后退按钮时是转到另一个屏幕,就像他们从未去过编辑屏幕一样。

这是我的导航图:

这是负责导航到上一个可组合项的按钮的代码:

这是编辑屏幕的屏幕截图: 在此处输入图像描述

0 投票
1 回答
278 浏览

android - 目的地之间的传递模型

我正在开发使用 Jetpack Compose 和 Jetpack Compose Navigation 的应用程序。在一个视图(目的地)中,我正在显示条目列表(我们称其为带有模型 A 的视图 A)。从这个视图用户可以转到创建视图(视图 B 和模型 B),可以在其中创建新条目。创建成功后,我想更新模型A中的列表,所以用户返回查看新创建的条目后不需要刷新视图A。

是否可以像这样或以任何其他方式使用 NavHost 在导航目的地之间传递 ViewModel 类?

0 投票
2 回答
146 浏览

kotlin - 从一个 Android 屏幕导航到另一个屏幕时出现深层链接异常

我在 MainActivity 中有这个:

我的布局是这样定义的:

屏幕是这样定义的:

我打电话

@Composable fun AddAccountFAB() { val context = LocalContext val navController = rememberNavController()

并得到

我以为createNavHost是在设置图表。这至少让我摆脱了深层链接异常。我只是想使用 FAB 转到一个页面。

0 投票
0 回答
396 浏览

android - Jetpack Compose 项目列表

当我在 LazyColumn 中选择项目并导航到该项目时,我可以与上一个屏幕(项目列表)中的其他项目进行交互。有任何想法吗?

懒人列

navigateToPost详细信息

0 投票
1 回答
1772 浏览

android - Jetpack compose navigation popUpTo inclusive true 未从 backstack 清除可组合屏幕

我正在使用 Jetpack Compose ui 版本1.3.0-beta08和导航 compose 版本2.4.0-alpha02以及使用所有新架构组件的 Bloom 应用程序。登录成功后,我需要清除所有以前的撰写登录屏幕,但即使添加了popUpTo("HomeScreen"){inclusive = true},当我从主屏幕单击返回时,我的登录屏幕已从后台堆栈中删除,但登录欢迎屏幕并未从后台堆栈中删除。我在撰写导航中缺少/错误的东西吗?

GitHub 链接: https ://github.com/rramprasad/BloomApp/blob/main/app/src/main/java/dev/ramprasad/bloom/MainActivity.kt

0 投票
0 回答
442 浏览

android - 撰写分页:ConstraintLayout 中 NavHost 中的 LazyColumn 项方法导致 IllegalStateException:检查失败

将 compose 升级到后,我遇到了一个奇怪的错误1.0.0-beta08

一段时间后,我可以通过创建 a 的NavHost内部ConstraintLayout并使用库的LazyListScope.items方法来准确地查明并重现此错误androidx.paging:paging-compose

一个全新的项目MainActivity将导致错误:

LazyColumn没有该方法的items工作,以及将其移出 ConstraintLayout。

这些是依赖版本:

0 投票
1 回答
544 浏览

android - Jetpack Compose BottomNavBar 标签重叠图标

我试图实现jetpack compose bottomnavbar。但是我遇到了这个问题。每当标签没有足够的空间时,它就会与图标重叠。我错过了什么吗?是否有任何解决方案,例如自动截断或缩小文本?

compose_version = '1.0.0-beta09'

[1]:https://i.stack.imgur.com/gmD34.png

我的代码

0 投票
0 回答
748 浏览

android - 无法在撰写导航中传递可打包对象

我正在用 compose 开发副项目,我对 Compose 导航很感兴趣。我想要的是将 Parcelable 对象从一个可组合屏幕传递到另一个屏幕。所以导航是这样的:

从主屏幕导航时,我将 parcelable 对象放入NavController.currentBackStackEntry.

然后,在调用 MovieDetails 可组合屏幕之前,我尝试从navController.previousBackStanEntry.

但在这里,movie变量为空,我无法接收对象。(导航正在工作,它正在膨胀 MovieDetails 可组合功能

你能帮我调试这些代码片段还是我在某个地方弄错了?