android studio : lambda expressions are not suppor

2019-02-07 16:42发布

问题:

This question already has an answer here:

  • Is it possible to use Java 8 for Android development? 21 answers

Happy to know that java introduced Lambda expressions in java version 8.

I was working in android studio. And I noticed that DialogInterface.OnClickListener() was showing underline and became grey colored as below:

So, I did alter + enter on that line and found option to replace the code with Lambda Expressions, as below:

Which resulted in something below:

After running the code it showed me this error:

Error:(160, 69) error: lambda expressions are not supported in -source 1.7 (use -source 8 or higher to enable lambda expressions)

But I am already using java jdk1.8.0_31. Is there anything else, I need to install ?

Can anyone help me out please..

回答1:

You cannot compile Java 8 sources for Android, because Android SDK does not support Java 8 yet.

But there is one way to use Lambdas in your code - RetroLambda. This is a little hack that allows you to use some of the features of Java 8 in your project.



回答2:

I don't think Android development is ready yet for Java 8. Android Studio supports the compile level Java 7 whether you installed Java 7 or Java 8. So, if you want to use new features of Java 8, I think you have to wait Android Studio to support compile level Java 8.