поддерживает Lollipop в Котлине

Я изучаю синтаксис Kotlin и его расширения. Я натолкнулся на это, если вы хотите запустить код на Lollipop и выше, вы можете сделать

 supportsLollipop { window.setStatusBarColor(Color.BLACK) } 

Это кажется хорошим, я пытаюсь использовать его в своем коде, но получаю сообщение об ошибке «Ожидание объявления участника».

введите описание изображения здесь

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) submitButton.setOnClickListener({ view -> longToast("Clicked") }) } inline fun supportsLollipop(code: () -> Unit) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { code() } } supportsLollipop { Log.d("Test", "Test") } } 

Нужно ли устанавливать для него какое-либо расширение? У вас есть идея?

Вы можете пройти через https://android.jlelse.eu/keddit-part-7-infinite-scroll-higher-order-functions-lambdas-3a11fbd5090e

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) submitButton.setOnClickListener({ view -> longToast("Clicked") }) supportsLollipop { Log.d("Test", "Test") } } inline fun supportsLollipop(code: () -> Unit) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { code() } } } 

У вас должна быть функция.

  fun supportsLollipop(code: () -> Unit) { supportsVersion(code, 21) } private fun supportsVersion(code: () -> Unit, sdk: Int) { if (Build.VERSION.SDK_INT >= sdk) { code.invoke() } }