What does it mean that a Listener can be replaced with lambda?

To replace the classic new DialogInterface.OnClickListener() implementation with lambda expression is enough with the following

 builder.setPositiveButton("resourceId", ((DialogInterface dialog, int which) -> {
      // do something here
 }));

It´s just taking the onClick event parameters.


It means that you can shorten up your code.

An example of onClickListener() without lambda:

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here
    }
});

can be rewritten with lambda:

mButton.setOnClickListener((View v) -> {
    // do something here
});

It's the same code. This is useful when using a lot of listeners or when writing code without an IDE. For more info, check this.

Hope this answers your question.


Its as simple as this:

button.setOnClickListener(view -> username = textView.getText());