Как использовать лямбда-выражения в Android - PullRequest
0 голосов
/ 05 июля 2018

У меня ошибка при попытке использовать лямбда-выражения.

Ошибка:

Ошибка: (122, 42) ошибка: лямбда-выражения не поддерживаются в -source 1.7 (используйте -source 8 или выше, чтобы включить лямбда-выражения)

Как я могу это решить, заметив, что моя Android Studio 3.0

Ответы [ 3 ]

0 голосов
/ 05 июля 2018

Это потому, что, возможно, вы используете Java 7 и на самом деле, Retrolambda - это библиотека, которую мы можем использовать с Java 8 lambda expressions.

Итак, как настроить: -

Добавьте это следующее к вашему project’s main build.gradle

 classpath 'me.tatarka:gradle-retrolambda:3.2.3'

затем добавьте это к your application module’s build.gradle

apply plugin: 'me.tatarka.retrolambda'

тогда нам нужно добавить эти строки в your application module’s build.gradle

android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

и готово, вы можете использовать его, как показано ниже: -

Например.) Нажатие кнопки с Retrolambda.

  // RETROLAMBDA WAY
        clickMeBtn.setOnClickListener(view ->
                Toast.makeText(MainActivity.this,
             "This is the way to click a button to make a toast with RetroLambda !", Toast.LENGTH_LONG).show());

Анонимный класс new View.OnClickListener() можно заменить на lambda.

0 голосов
/ 08 марта 2019

Добавьте следующий блок в файл gradle уровня вашего приложения внутри

android {} атрибут

compileOptions {
        sourceCompatibility = '1.8'
        targetCompatibility = '1.8'
    }

как

 android {
...
compileOptions {
            sourceCompatibility = '1.8'
            targetCompatibility = '1.8'
        }
}
0 голосов
/ 05 июля 2018

Добавьте приведенный ниже код на уровень вашего приложения:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...