admin管理员组

文章数量:1636917

在使用最新的Jetpack时,用Navigation来导航到不同的fragment时出现了这个问题,百度了一下,发现jetpack实在是太新了,很多问题都还没有解决方式,毕竟2019年才逐步完善的东西,现在年初遇到问题至少在国内很难在网上有解答,o(╥﹏╥)o也许这就是一直用最新的东西的难处吧。算了,还是自己研究…

先还原一下问题:

我要实现图中蓝色线的跳转:
下面是跳转代码:

结果报错:

从错误可以看出要我们实现OnFragmentInteractionListener这个东西,不过很明显我们使用jetpack的navigation不会low到这种地步让我们手动完成这些操作的,弄了一晚上终于发现问题所在:

出现这个错误的原因应该是Android studio创建fragment时自动生成关于fragment中的方法,其中onAttach()这个方法和navigation冲突了。所以我们只要在创建fragment禁止它自动生成这些方法即可

解决:
创建fragment时,取消这个两个勾选即可:

如果你已经创建过fragment,可以把fragment先删了,再次创建一个同名的,同时将Create layout XML也取消勾选即可。

本文标签: 解决方法navigationJetpackandroidxxx