Escribo esto casi como un recordatorio de las posibles formas de manejar eventos en Android, pongo por caso cómo manejar los eventos OnClick de un botón:
Inline:
1
2
3
4
5
| this.btnCalcular.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
calcularRuta();
}
});
|
Con un delegado:
1
2
3
4
5
6
7
8
9
| private OnClickListener btnMyLocation_OnClick = new OnClickListener() {
@Override
public void onClick(View v) {
// Desde aquí no tenemos acceso a la clase
// así que podemos llamar a una método de
// la clase para modificarla
}
};
this.btnMyLocation.setOnClickListener(this.btnMyLocation_OnClick);
|
Implementando OnClickListener como una interfaz (esta opción no permitiría manejar eventos OnClick diferenetes salvo que hagamos un switch del View en la función OnClick para identificarlo):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 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) {
switch(v.getId())
{
case(R.id.corky):
...
}
}
...
}
|
En el XML del layout:
1
2
3
4
| <Button
android:onClick="metodo"
...
/>
|
1
2
3
4
| public void metodo(View v)
{
//hacer algo
}
|
No hay comentarios:
Publicar un comentario