Lambda不适用于Android Studio:
这就是我的功课
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版本 Java版本“ 1.8.0_121” Java(TM)SE运行时环境(内部版本1.8.0_121-b13) Java HotSpot(TM)64位服务器VM(内部版本25.121-b13,混合模式)
答案 0 :(得分:1)
也许您的兰巴出了问题,请尝试以下操作:
button.setOnClickListener(v -> Toast.makeText(
getContext(), "Something", Toast.LENGTH_SHORT).show()
);