tus camisetas frikis en camisetafriki.com
Home > Android, Programacion > Android: Formas de manejar un evento

Android: Formas de manejar un evento

August 24th, 2010 Leave a comment Go to comments

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
}

(fuente: http://developer.android.com/guide/topics/ui/ui-events.html)

Categories: Android, Programacion Tags:
  • Patoj224

    exelenta muchas gracias