我想创建一个适配器扩展 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/