在null对象引用上的TransitionSet ArrayList.size()

时间:2018-03-24 05:54:17

标签: android kotlin android-transitions

本指南开始实现包含共享元素和动画的打开图像。

https://android-developers.googleblog.com/2018/02/continuous-shared-element-transitions.html

但是有一个例外:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
at android.support.transition.TransitionSet.setDuration(TransitionSet.java:196)
at android.support.transition.TransitionSet.setDuration(TransitionSet.java:60)
at android.support.transition.Transition.<init>(Transition.java:278)
at android.support.transition.TransitionSet.<init>(TransitionSet.java:91)
at android.support.transition.TransitionInflater.createTransitionFromXml(TransitionInflater.java:151)
at android.support.transition.TransitionInflater.inflateTransition(TransitionInflater.java:70)

致电时

TransitionInflater.from(context).inflateTransition(R.transition.my_transition)

2 个答案:

答案 0 :(得分:17)

谷歌没有发现这个问题,为什么我发布这个。

持续时间参数存在问题。

你可以这样解决:

需要从xml中删除持续时间,并在代码中创建TransitionSet之后设置它。

val transition = TransitionInflater.from(context).inflateTransition(R.transition.my_transition)
transition.duration = 325

希望帮助了某人。

答案 1 :(得分:1)

在我的情况下,发生此错误是因为我从

导入了TransitionInflator
import android.support.transition.TransitionInflater

应从

导入
import android.transition.TransitionInflater

修复导入后,错误得到解决。