美文网首页
Android navigation unknown to th

Android navigation unknown to th

作者: svvvvvvvL | 来源:发表于2020-06-16 18:11 被阅读0次

    最近使用Jetpack的Navigation库时, 碰到了这个报错. 说是当前跳转的destination不对. 查了一段时间后才发现一种比较容易出现这个bug的情况.
    那就是, 如果从跳转的目的地是<dialog这个标签的话.也就是类似下图这样

    image.png
    他在跳转的时候,会调用fragmentManager来添加一个DialogFragment, 问题就处在这里.

    因为dialog从创建到显示, 有一个动画时间, 在这段时间之内, 虽然目标dialogFragment还没显示在屏幕上, 但是Navigation已经把这个目标destination添加到了任务栈当中了, 也把当前navController的当前destination设置为了这个DialogFragment. 如果在这个时候再点击一次刚才的弹出dialog的按钮. 会再次尝试打开dialog,但是当前的destination已经是DialogFragment了. 而不是点按钮的那个Fragment. 所以会造成action不匹配, 引发错误.

    解决的办法就是在DialogFragment显示出来之前, 不可以再次调用这个navigate跳转方法

    相关文章

      网友评论

          本文标题:Android navigation unknown to th

          本文链接:https://www.haomeiwen.com/subject/mybrxktx.html