Как заменить анонимный OnClickListener на выражение Lamda? - PullRequest
0 голосов
/ 03 января 2019

Как мне заменить этот OnClickListener на выражение Lamda?

    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, которое я не совсем понимаю.

enter image description here

1 Ответ

0 голосов
/ 03 января 2019

Предполагая, что вы можете передать создание User -объекта в его собственный метод createAndStoreUser(), и оба параметра метода onClick(DialogInterface interface, int i) не будут использоваться, анонимный класс можно переписать как:

alert.setPositiveButton("Yes", (di,i)-> createAndStoreUser());

Вы также можете определить конкретный вид непосредственно в лямбда-выражении. Однако это не принесет много преимуществ:

alert.setPositiveButton("Yes", (di,i)-> { User user = new User(...); ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...