Kotlin Extension Functions suddenly require api level 24

What you are using is not kotlin.collections.MutableMap.forEach.

What you are using seems to be Map.forEach in Java 8.

Refer to this article:
http://blog.danlew.net/2017/03/16/kotlin-puzzler-whose-line-is-it-anyways/

This seems to be a common mistake.

Java 8 is well-supported from Android API level 24.

For short, do not use forEach like map.forEach { t, u -> Log.i("tag", t + u) } (this is using Java 8 API, which does not work for Android API level <= 23).
Use it like map.forEach { (t, u) -> Log.i("tag", t + u) } (this is using Kotlin API).
(Not two parameters. Just one parameter that is a pair.)

Leave a Comment