En Android parece haber 3 formas comunes de manejar los clics de botón, ¿cuánta diferencia hay entre los métodos? ¿Y alguno de ellos es "mejor" de alguna manera?¿Cómo se maneja un botón al hacer clic en Android?
Los tres métodos sigo viendo son: Clase
Anónimo
Encuentra el botón por su ID, a continuación, pasar a una nueva clase anónima para setOnClickListener
, por ejemplo, en onCreate
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
Implementar OnClickListener
Implementar OnClickListener
y pasar this
a setOnClickListener
, a continuación, utilizar una DECLARACIÓN interruptor basado en el ID de botón, por ejemplo, en onCreate
findViewById(R.id.myButton).setOnClickListener(this);
e implementar onClick
como
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
Uso onClick XML atributo
En el diseño de XML para su actividad, en vez de dar su botón de un ID, utilice onClick
como esto :
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
Luego tienen un método buttonClicked
en su Acitiviy así:
public void buttonClicked(View v) {
// ... whatever ...
}
En el momento en que tienden a utilizar el atributo XML, pero eso es sólo porque se trata de la menor cantidad de código. ¿Cuándo debería usar los otros métodos?
+1 para describir el tercer método. Solo estoy aprendiendo Android y no tenía conocimiento del atributo 'onClick'. – Mike