前言:
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
配置:
1、安装java 8,并在android studio中配置使用;
2、app build.gradle中配置
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
3、解决用JDK1.8 Lambda表达式中文乱码的问题
gradle.properties文件中配置
org.gradle.jvmargs=-Dfile.encoding=UTF-8
使用:
demo:
//普通写法
adapter.setItemClickListener(new SelectAdapter.ItemClickListener() {
@Override
public void onClick(int position) {
Select select = list.get(position);
startActivity(new Intent(SelectActivity.this, select.getActivity().getClass()));
}
});
//使用Lambda表达式
adapter.setItemClickListener(position -> {
Select select = list.get(position);
startActivity(new Intent(SelectActivity.this, select.getActivity().getClass()));
});
//普通写法
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this, SelectActivity.class);
intent.putExtra("type", position + 1);
startActivity(intent);
}
});
//使用Lambda表达式
listView.setOnItemClickListener((parent, view, position, id) -> {
Intent intent = new Intent(MainActivity.this, SelectActivity.class);
intent.putExtra("type", position + 1);
startActivity(intent);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)