记录一个奇怪的问题。
现象
今天参考官方文档,用到了registerForActivityResult这个函数,但是在Android Studio中显示红色,表示有错误,提示是找不到这个函数定义。但是编译是可以通过的。
定位
这个函数的定义是在ComponentActivity中。ComponentActivity定义在androidx.activity的依赖库中。1.2.0以上的版本才有这个方法。
在Android Studio中查看我的Activity的父类,继承自ComonentActivity,奇怪的是看到的ComponentActivity位于1.0.0版本的包中,而我gradle中依赖的是1.5.1版本的androidx.activity库。
查看依赖树,有另一个依赖间接依赖了1.0.0的fragment库(FramentActivity所在的库,FragmentActivity继承ComponentActivity)。把这个依赖删除,重新同步,果然正常了。
但是没有这个依赖工程跑不起来,又把它加回来,结果依然正常。
网友评论