Android - setOnClickListener vs OnClickListener vs View.OnClickListener

Meu entendimento é que, quando estou criando um objeto de botão que escuta um clique, tenho que:

Crie o objeto de botãoUsarOnClickListner para fazer ouvir o clique do usuárioUsaronClick executar ações depois que o usuário clicar no botão

Agora,

OndesetOnClickListener se encaixam na lógica acima?Qual deles realmente ouve o clique do botão?setOnClickListener?OnClickListener?View.OnClickListener?Quais são as diferenças entre esses três?

Aqui está o que eu encontrei no Android Dev:

//The example below shows how to register an on-click listener for a Button.

// Create an anonymous implementation of OnClickListener
private OnClickListener mCorkyListener = new OnClickListener() {
    public void onClick(View v) {
      // do something when the button is clicked
    }
};

protected void onCreate(Bundle savedValues) {
    ...
    // Capture our button from layout
    Button button = (Button)findViewById(R.id.corky);
    // Register the onClick listener with the implementation above
    button.setOnClickListener(mCorkyListener);
    ...
}

Você também pode achar mais conveniente implementarOnClickListener como parte do seuActivity. Isso evitará a carga extra de classe e as alocações de objeto. Por exemplo:

public class ExampleActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedValues) {
        ...
         Button button = (Button)findViewById(R.id.corky);
         button.setOnClickListener(this);
    }

    // Implement the OnClickListener callback
    public void onClick(View v) {
      // do something when the button is clicked
    }
}

questionAnswers(5)

yourAnswerToTheQuestion