无法访问“backQueue”:它在“NavController”中是私有的

gao*_*way 10 android-jetpack-compose

val queue = navController.backQueue backQueue成为私有的androidx.navigation:navigation-runtime:2.6.0-alpha07@aar

有替代品吗?

sca*_*ana 8

看来你可以暂时currentBackStack访问NavController。

/**
 * Retrieve the current back stack.
 *
 * @return The current back stack.
 * @hide
 */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
@get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public val currentBackStack: StateFlow<List<NavBackStackEntry>> =
    _currentBackStack.asStateFlow()
Run Code Online (Sandbox Code Playgroud)

请确保您先阅读此内容: https: //issuetracker.google.com/issues/217465473#comment6,以充分理解后果,因为此 API 与 一样backQueue,可能不稳定。

  • `currentBackStack.value` 将允许您访问列表,您可以像以前一样在该列表下进行过滤。 (6认同)
  • 但如何使用它呢?我有这个错误“NavController.currentBackStack 只能从同一个库组内访问(从 groupId=MyApp 引用 groupId=androidx.navigation)” (2认同)