为什么BaseAdapter不需要括号?

时间:2019-02-17 23:15:39

标签: android android-layout kotlin

我在问为什么我不能写这个:

class myClass : BaseAdapter() {
        }

代替此:

class myClass : BaseAdapter {
        }

BaseAdapter是一个接口。

1 个答案:

答案 0 :(得分:2)

BaseAdapterabstract类,而不是interface。在Kotlin中,如果您从类(abstract或其他类)扩展,则需要使用构造函数调用。

如果从此开始:

import android.widget.BaseAdapter

class myClass : BaseAdapter() {

}

...您将收到一个错误:

Android Studio, Showing Error

这是因为您缺少abstract类所需的功能。如果将文本光标置于class myClass错误区域并按 Alt-Enter ,则可以选择“实施方法”,选择所有四个方法,然后Android Studio会代码生成{{ 1}}为您实现这些方法的实现:

TODO()

此时,您应该没有更多的错误。