I am building an AAR with Kotlin in Android Studio 3.4.1, and I get the dreaded "unresolved reference" error when I try to use mutableListOf.
val myBuffer: mutableListOf<Byte>()
I updated Kotlin to the latest version at the time of writing
In build.gradle, the Kotlin version is also consistently defined.
In the module build.gradle, the following plugins are used:
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
I understood from what I read, that the Kotlin language plugin, including collection classes, should be automatically included in Android Studio. In any case, I'm using other Kotlin classes, e.g. ByteArray, without a problem.
Following advice that I found online, I cleaned and re-built, also selected File | Invalidate Caches/Restart and re-built. It did not work; the reference is still unresolved.
The Kotlin documentation doesn't say that this function is deprecated, which was another possible cause that I found.
What am I missing?
To conclude, the unresolved reference error happens when Kotlin has no idea what the keyword you’re typing in the file points to. It may be a function, a variable, or another construct of the language that you’ve yet to declare in the code.
In Kotlin one should use the MutableList.removeAt function instead. Removes a single instance of the specified element from this collection, if it is present. Removes all elements from this MutableList that match the given predicate. Removes all of this collection's elements that are also contained in the specified collection.
I understood from what I read, that the Kotlin language plugin, including collection classes, should be automatically included in Android Studio. In any case, I'm using other Kotlin classes, e.g. ByteArray, without a problem. Following advice that I found online, I cleaned and re-built, also selected File | Invalidate Caches/Restart and re-built.
In build.gradle, the Kotlin version is also consistently defined. In the module build.gradle, the following plugins are used: apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
You have made some typo error: use =
and not :
:
val myBuffer = mutableListOf<Byte>()
or specify type explicitly:
val myBuffer: MutableList<Byte> = mutableListOf<>()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With