我的Android工作室设置如下:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div class="container">
<h1>Bootstrap popover Example</h1>
<div>
<input type="password" id="password1" placeholder="password">
</div>
</div>
我正在尝试使用lambdas知道我能做什么或不做什么。
当我执行以下代码时:
classpath "me.tatarka:gradle-retrolambda:3.2.2"
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2'
IDE变灰了 alertDialogBuilder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
告诉我它可以用lambda替换。没有更多或更少。在研究https://www.dropbox.com/s/5w6etov45huj3gy/Screenshot%202015-09-11%2014.06.56.png?dl=0 several之后。我尝试过这样的事情:
new DialogInterface.OnClickListener()
还有这些:
alertDialogBuilder.setPositiveButton("Okay", (DialogInterface dialog) -> {
dialog.cancel();
});
错误之中:
错误:(99,64)错误:不兼容的类型:DialogInterface不是功能接口 在接口DialogInterface
中找到多个非重写抽象方法
在这种情况下我应该如何使用lambda?
答案 0 :(得分:10)
onClick
有两个参数,您的示例尝试只显示一个参数。请务必在lambda中包含which
参数。
new AlertDialog.Builder(this).setPositiveButton("Okay",
(dialog, which) -> dialog.cancel());