正在忽略navigation()调用



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

有时,当我尝试更改片段(使用导航控制器导航(时,它不会更改片段,而是记录

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

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

我使用以下代码进行导航:

Navigation.findNavController(视图(Navigation(R.id.action_next,bundle(

我也遇到了同样的问题,在我的案例中,我试图在Mopub广告回调onInterstialDismissed中使用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)
}
}
}

这就是我解决问题的方法。

相关内容

  • 没有找到相关文章

最新更新