忽略导航()调用
Posted
技术标签:
【中文标题】忽略导航()调用【英文标题】:Ignoring navigate() call 【发布时间】:2019-05-01 17:02:43 【问题描述】:我在我的一个应用程序中使用新的 android Navigation Framework。 Application 的目的是充当启动器。
有时当我尝试更改片段(使用导航控制器导航)时,它不会更改片段而是记录
Ignoring navigate() call: FragmentManager has already saved its state
我知道之前有人问过这个问题Ignoring navigate() call: FragmentManager has already saved its state 但它没有解决方案。
我正在使用以下代码进行导航:
Navigation.findNavController(view).navigate(R.id.action_next, bundle)
【问题讨论】:
【参考方案1】:我遇到了同样的问题,在我的情况下,我试图在 Mopub 广告回调 onInterstitialDismissed 中使用 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)
这就是我解决问题的方法。
【讨论】:
以上是关于忽略导航()调用的主要内容,如果未能解决你的问题,请参考以下文章
使用导航弹出窗口时忽略Webstorm中的node_modules
f:viewAction 被忽略,当 commandButton 导航到页面时
iOS SwiftUI:ScrollView 忽略顶部安全区域