Android开发经验谈Android开发Android技术知识

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

2018-08-22  本文已影响15人  十方天仪君

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

这是启动转场动画代码

startActivity(slideByCodeIntent, ActivityOptionsCompat.makeSceneTransitionAnimation(this@ShopCategoryListActivity).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())

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

上一篇下一篇

猜你喜欢

热点阅读