Android API 28要求类扩展TypedArray以具有构造函数

时间:2019-02-19 00:11:50

标签: android constructor typedarray

在API 28之前,扩展TypedArray的任何类都不需要提供构造函数,而TypedArray则具有自己的自定义构造函数。我的理解是,在JAVA中,当父类提供自己的构造函数时,对其进行扩展的子类应提供一个构造函数以调用父代的构造函数。因此,TypedArray的情况对我来说真的很奇怪,但是我们的代码遵循了这种奇怪性,到目前为止效果还不错。

但是,从API 28开始,编译器突然开始要求所有子类现在提供构造函数。我按照建议进行操作,并在其中调用了super(resources),但是随后崩溃了,我的应用程序崩溃了,报告“没有此类super(resources)方法”?有人知道幕后发生了什么吗?

我的小代码段演示了构造函数的继承要求: enter image description here

类扩展TypedArray奇怪地不需要构造函数 enter image description here enter image description here

但是当切换到API 28时,它开始要求构造器,而TypedArray类没有明显变化(构造器部分相同)。 enter image description here enter image description here

0 个答案:

没有答案