当前位置: 首页 > 知识库问答 >
问题:

忽略navigate()调用

江烨伟
2023-03-14

我正在我的一个应用程序中使用新的android导航框架。应用程序的目的是充当启动器。

有时,当我尝试更改片段(使用navcontroller导航)时,它不会更改片段,而是记录下来

Ignoring navigate() call: FragmentManager has already saved its state

我知道之前有人问过这个问题,忽略navigate()调用:FragmentManager已经保存了它的状态,但没有解决方案。

我使用以下代码导航:

Navigation.findNavController(视图)。id.action_next,捆绑)

共有1个答案

麹繁
2023-03-14

我也有同样的问题,在我的例子中,我试图在Mopub ad回调OnInterstitualDisabled中使用navigate(),并获取此信息。

我的解决方案是这样使用LiveData:

 private var dismissState = MutableLiveData<Int>(0)
 mMobupInterStitialAd?.interstitialAdListener = object : MoPubInterstitial.InterstitialAdListener {
 override fun onInterstitialDismissed() {

 dismissState.value=1
 }
 }
override fun onViewCreated() {
 dismissState.observe(viewLifecycleOwner) {
 if(it == 1) {
 findNavController.navigate(R.id.fragmentAtoFragmentB)
 }
 }
}

我就是这样解决问题的。

 类似资料:
  • 我在主活动中使用导航,然后启动第二活动(用于结果)。在完成第二个活动后,我想继续在主活动中导航,但碎片管理器已经保存了他的状态。 打开导航。findNavController(视图)。导航(R.id.action\u next,bundle)我收到日志消息: 如何继续导航?

  • 使用上面的代码片段,是否可以测试忽略调用IgnoreCall的方法。ignoreMethod(Bean)而不需要将整个语句置于布尔条件下? 以下是单元测试代码片段: 注意事项: 重构。即使是糟糕的OO设计,重构也是代价高昂的 方法签名被锁定,除非另一个模式适用于替换 尝试使用Mockito。当和PowerMockito时。在目标静态方法上执行时,存根在运行时调试上不起作用

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 我正在为maven多模块项目研究缓存实现(exstremescale),我在下面添加了maven依赖项 添加了缓存注释 cache-manager.xml 缓存只适用于项目的一个maven模块,我可以看到缓存拦截器调用,对于maven模块的其余部分,它忽略了@cacheable注释(它不会进入拦截器)。 我们没有PostConstructor或自我调用 我们使用atomikos作为事务管理器和CX

  • 问题内容: 我正在某个网站上插入一些标题中的换行符。假设我无法编辑源HTML,是否有CSS可以忽略这些中断的方法? 我正在移动网站的优化,所以我真的不想使用JavaScript。 问题答案: 使用css,您可以“隐藏” br标签,它们不会起作用: 如果只想在特定的标题类型中隐藏某些内容,只需使CSS更具体即可。

  • 从当前页面,跳转到应用内的某个指定页面;关闭当前页面,返回上一级或多级页面等。 安装 $ npm install universal-navigate --save 方法 push(options) 参数 属性 类型 默认值 必选 描述 支持 options Object - 是 push 参数 options.url String - 是 页面 URL. options.animated Boo