Лямбда не работает .. хотя у меня установлен JavaVersion.VERSION_1_8, я что-то пропустил? - PullRequest
0 голосов
/ 30 сентября 2018

Лямбда не работает с Android Studio:

Это то, что у меня в gradle

 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

Это настройки проекта

ext {

compileSdkVersion = 27
supportLibVersion = '27.1.0'
minSdkVersion = 27
targetSdkVersion = 27

}

Этот простой код не работает:

 button.setOnClickListener( (View x) -> Toast.makeText(
            getContext(), "Something", Toast.LENGTH_SHORT)
    );

Причина, которая не имеет для меня никакого смысла:

   --------- Cause ---------

java.lang.ClassCastException: Bootstrap method returned null

Неустранимая ошибка:

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method

Java-версия: java -version java-версия "1.8.0_121" Java (TM) SE Runtime Environment (сборка 1.8.0_121-b13) Java HotSpot (TM) 64-битная виртуальная машина сервера (сборка 25.121-b13, смешанный режим)

1 Ответ

0 голосов
/ 30 сентября 2018

Возможно, ваша ламба создает проблему, попробуйте так:

button.setOnClickListener(v -> Toast.makeText(
   getContext(), "Something", Toast.LENGTH_SHORT).show()
);
...