Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter convertView

The getView() method is a part of the Adapter interface, and is defined in Java. Documentation here. The important part is this note about the convertView parameter:

View: The old view to reuse, if possible. Note: You should check that this view is non-null and of an appropriate type before using.

This means that it's quite valid for the framework to pass null values for convertView to this method (meaning that you need to create a new view and return that, rather than recycling an old view).

In turn, this means that the Kotlin definition of convertView must be of type View?, not just View. So change your function signature to this:

override fun getView(position: Int, convertView: View?, parent: ViewGroup): View

Make convertView nullable:

convertView: View?

I'm not sure why the line number is wrong, but the stacktrace tells you where to look in the error message.


Change your convertView in getView from non-null to nullable

override fun getView(position: Int, convertView: View, parent: ViewGroup): View {

to

override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {