android - 没有主构造函数就不可能进行父类(super class)型初始化

标签 android kotlin

我想创建一个适配器扩展 BaseAdapter,像这样:

        class TestAdapter: BaseAdapter() {
            var mData:LinkedList<String>?=null
            var mContext:Context?=null

            constructor(mData: LinkedList<String>?, mContext: Context?) : super() {
                this.mData = mData
                this.mContext = mContext
            }
           Blablabla…….
        }

但是 AS 给我一条错误信息:没有主构造函数就不可能进行父类(super class)型初始化。

最佳答案

看起来你只想要 TestAdapter有一个构造函数(带参数的构造函数),对吗?如果是这样,您应该重写它并将参数作为类声明的一部分,而不是使用单独的 constructor。 ,像这样:

class TestAdapter(mData: LinkedList<String>?, mContext: Context?) : BaseAdapter()

相反,如果您想要 TestAdapter要有两个构造函数(一个没有参数,一个有参数),那么你需要按如下方式进行:

class TestAdapter() : BaseAdapter() {
    constructor(mData: LinkedList<String>?, mContext: Context?) : this() {
       // ...
    }
}

关于android - 没有主构造函数就不可能进行父类(super class)型初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53077945/

相关文章:

Android 数据绑定(bind)和 Kotlin

java - 停用空文本或空文本的触摸事件

android - 如何更好地处理GPS定位和android

android - AlarmManager 立即执行我的 PendingIntent 而不是等待特定时间

kotlin - 如何在 Kotlin 中理解 = 的乐趣?

android - 在数据绑定(bind)中找不到属性的 setter

spring-boot - 检索表连接的结果

android - 有没有手机游戏的安全交易插件?

android - 整合谷歌加

kotlin - 将 kotlin 从 1.3.72 更新到版本 1.4.10 后,println(以及所有 kotlin.io)在 IntelliJ 中显示为 'unresolved reference'