Come utilizzare le espressioni lambda in Android? Per esempio, ho compilare il codice in IntelliJ IDEA:espressioni Lambda in android
package com.example.myapp;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
test s =() -> {return "Lambda expressions test";};
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("Lambda expression")
.setMessage(s.t())
.create();
alertDialog.show();
}
}
interface test {
public String t();
}
Ma avere questo erorrs:
Information:Using javac 1.8.0_05 to compile java sources
Information:36 errors
Information:0 warnings
Information:Compilation completed with 36 errors and 0 warnings in 29 sec
Error:Android Dex: [myappі] UNEXPECTED TOP-LEVEL EXCEPTION:
Error:Android Dex: [myappі] com.android.dx.cf.iface.ParseException: InvokeDynamic not supported
come impostare in modo da poter utilizzare le espressioni lambda?
Android supporta java 6/7 non 8, credo. lambda è stato introdotto in Java 8 credo che – Raghunandan
sì, lambda sia stato introdotto in java 8, ma cosa posso fare se c'è già un sacco di codice scritto con un'espressione lambda – user3430722
@Raghunandan Si sbaglia. Lambdas funziona facilmente su Android Studio se si imposta build.gradle per l'utilizzo di Java 8. –