Androidstudio中使用lambda表达式

目前Android只有在jack版本才有原生支持lambda,为了在java1.6也能使用上lambda表达式,我们可以采用第三方插件。

  1. 在project 根目录下的build.gradle中添加依赖,这会使用retrolambda来编译Java代码
buildscript {
 dependencies {
 classpath 'me.tatarka:gradle-retrolambda:3.1.0'
 }
  1. 应用插件声明:apply plugin:'me.tatarka.retrolambda'

  2. 加入compileOptions,这会让IDE使用用JAVA8语法解析

    compileOptions {
     sourceCompatibility JavaVersion.VERSION_1_8
     targetCompatibility JavaVersion.VERSION_1_8
    }
    
  3. 指定将源码编译的级别,,使用下列代码,会将代码编译到兼容1.6的字节码格式

    retrolambda {
     javaVersion JavaVersion.VERSION_1_6
    }
    
  4. 使用最简单的点击事件尝试一下。

    v.setOnClickListener(v1 -> Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show());
    

你可能感兴趣的:(Androidstudio中使用lambda表达式)