Kav*_*bhu 60 lambda android android-alertdialog
我已经实现了一个AlertDialog正常的负面和正面按钮点击监听器.当我打电话时,new DialogInterface.OnClickListener()它向我展示了一个建议:Anonymous new DialogInterface.OnClickListener() can be replaced with lambda.我知道这不是错误或大事,但这个建议究竟是什么,我能做些什么呢?很少的帮助将不胜感激!
编辑
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton("Text", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do something here
}
});
Run Code Online (Sandbox Code Playgroud)
Android Studio V1.2.1.1
compileSdkVersion 22
buildToolsVersion "22.0.0"
minSdkVersion 14
targetSdkVersion 22
Str*_*der 109
这意味着您可以缩短代码.
onClickListener() 没有 lambda 的例子:
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something here
}
});
Run Code Online (Sandbox Code Playgroud)
可以用 lambda 重写:
mButton.setOnClickListener((View v) -> {
// do something here
});
Run Code Online (Sandbox Code Playgroud)
这是相同的代码.这在使用大量侦听器或在没有IDE的情况下编写代码时非常有用.有关详细信息,请检查此信息.
希望这能回答你的问题.
就这么简单:
button.setOnClickListener(view -> username = textView.getText());
Run Code Online (Sandbox Code Playgroud)
用 lambda 表达式替换经典的 new DialogInterface.OnClickListener() 实现就足够了
builder.setPositiveButton("resourceId", ((DialogInterface dialog, int which) -> {
// do something here
}));
Run Code Online (Sandbox Code Playgroud)
它只是采用 onClick 事件参数。