一个关于kotlin使用5.0转场动画的问题

最近使用kotlin开发遇到了个问题,就是使用转场动画的时候出现了个有趣的情况

这是启动转场动画代码

startActivity(slideByCodeIntent, ActivityOptionsCompat.makeSceneTransitionAnimation(this@ShopCategoryListActivity,null).toBundle())

使用这段代码跳转在java环境是完全没有问题的,但是在kotlin是不可行的会报以下错误

java.lang.NullPointerException: Attempt to read from field 'java.lang.Object android.support.v4.util.Pair.first' on a null object reference

一开始百思不得其解啊,然后考虑了一下是不是参数问题然后我们打断点看看

image.png

没错,sharedElements[0]不为空,这是什么情况!

我们继续跟进

image.png

length长度=1,也就是说我们在startActivity传进来的null,在这里kotlin帮我们处理变成了一个pair了

image.png

pair[0] =null,到这里我们就清楚了,启动转场代码改成这样就可以,去掉null,则可以正常运行

startActivity(slideByCodeIntent, ActivityOptionsCompat.makeSceneTransitionAnimation(this@ShopCategoryListActivity).toBundle())

有大神能告诉这个原因就好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容