我如何用Lamda表达式替换此OnClickListener?
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
User user=new User(etnewname.getText().toString(),
etnewtelp.getText().toString(),
etnewemail.getText().toString(),
etnewusername.getText().toString(),
etnewpassword.getText().toString());
请参阅下面的Android Studio消息,我不太了解。
答案 0 :(得分:1)
假设您可以将User
对象的创建外包到它自己的方法createAndStoreUser()
中,并且不会使用onClick(DialogInterface interface, int i)
方法的两个参数,则可以将匿名类重写为:
alert.setPositiveButton("Yes", (di,i)-> createAndStoreUser());
您也可以直接在lambda表达式中定义具体的行为。但是,这不会带来很多好处:
alert.setPositiveButton("Yes", (di,i)-> { User user = new User(...); ... });