BaseAdapter
- это класс abstract
, а не interface
.В Kotlin, если вы расширяете класс (abstract
или другой), вам нужно использовать вызов конструктора.
Если вы начнете с этого:
import android.widget.BaseAdapter
class myClass : BaseAdapter() {
}
... youполучит ошибку:
![Android Studio, Showing Error](https://i.stack.imgur.com/Quurl.png)
Это потому, что вам не хватает функций, требуемых классом abstract
.Если вы поместите текстовый курсор в область ошибки class myClass
и нажмете Alt-Enter , вы можете выбрать «Методы реализации», выбрать все четыре метода, и Android Studio сгенерирует код TODO()
реализаций кода.эти методы для вас:
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
class myClass : BaseAdapter() {
override fun getView(
position: Int,
convertView: View?,
parent: ViewGroup?
): View {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun getItem(position: Int): Any {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun getItemId(position: Int): Long {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun getCount(): Int {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
На этом этапе у вас не должно быть дальнейших ошибок.