Haber, disculpa que arriba te puse el código directamente sin explicar absolutamente nada...en Java como en la mayoria de los lenguajes de programación tenes varias formas de hacer diferentes cosas logrando mismo resultados.
En este ejemplo puntual, vos podes definir el "listener" para un Button de varias formas. Las mas usadas y frecuentes de encontrar son:
1) Definis el listener en el button y pasas como argumento la interface OnClickListener
Código Java:
Ver originalpublic class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.
miBtn = (Button) this.
findViewById(R.
id.
mi_btn);
this.miBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick
(View v
) {
}
});
}
}
2) Implementas la interface OnClickListener directamente en la la clase. Ahora el argumento de setOnClickListener hace referencia a la clase que implementa la interface OnClickListener, y por otro lado debes implementar en la clase el metodo onClick
Código Java:
Ver originalpublic class MainActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.
miBtn = (Button) this.
findViewById(R.
id.
mi_btn);
this.miBtn.setOnClickListener(this);
}
@Override
public void onClick
(View v
) {
}
}
3) Creas una variable de instancia del tipo OnClickListener que hará referencia a una nueva instancia de OnClickLister. Esta variable de instancia la pasas como argumento en el setOnClickListener.
Código Java:
Ver originalpublic class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.
miBtn = (Button) this.
findViewById(R.
id.
mi_btn);
this.miBtn.setOnClickListener(btnClick);
}
private OnClickLister btnClick = new OnClickListener() {
@Override
public void onClick
(View v
) {
}
};
}