最近在项目中使用ARouter 时候遇到了一个困扰了我同事一个星期的bug,同事苦思奇想不得其解,找到了我,自认为这种bug,有那么困难,于是就自己操作了一遍,发现我也传值不过去,那怎么解决了
使用ARouter 遇到的坑代码:
ARouter.getInstance().build(ARouterPath.SPORT_NORMAL_DETAIL_ACTIVITY).withParcelable("bean",bean)
.withString("xxx");
.navigation();
从代码逻辑来看,这是没有任何问题的,但是就是传不过去,
开始的思路,是认为 bean是否序列化没有弄好, 采用AS插件 Parcelable 把代码再序列化了一遍, 还是不行
然后开启了第二条思路:
@Autowired(name="bean")
NormalTransactionsBean bean;//这里的 这个属性名要和传入的key值统一,不然值是传不过来的.
运行后,程序闪退 其实 写上 @Autowired(name="bean"),是应该采用withObject 的方式时候使用的,) 根据试验结果,这条路走不通
注意事项: 看代码注释
思路三:
采用withObject的方式传值,试验结果,还是不行
思路四:
我在想这也不行,那也不行,老子不用你这个破玩意了,突然之间我豁然开朗了,用Intent传值过去,不就行了,非要用这个中心路由么? 此处不留爷,必有留爷处. 试验结果,传值成功!
思路五:
我是一个特别不服输的人,你不让我行,老子偏偏要搞你, 反正老子已经可以传值过去了, 我就一直在