This is limitation of current SAM and type inference in Kotlin, many of those will be fixed with new type inference system, for now you can use RxKotlin library, which provides Kotlin friendly extension functions to solve such issues (for this particular case they have nice subscribeBy extension, where you can just pass Kotlin lambdas instead of Java interface with SAM)