Listeners

Event listeners
- Ligados a la vista
- Distintos tipos (onClick, onKey, onTouch, ...)
- Tres maneras de implementarlos:
- Creando un nuevo elemento de la clase listener
- Implementando con clase actual
- Creando nuestra propia clase listener
- Asignando una función por xml
1er método
- Creamos el elemento listener y definimos su función onClick (en este caso) :
OnClickListener lis = new OnClickListener(){
@Override
public void onClick(View v){
//Hacer lo que se quiera
}
};
button.setOnClickListener(lis);
2º método
- Hacemos que la clase actual implemente la clase listener:
public class JediActivity extends Activity implements OnClickListener{
@Override
public void onClick(View v){
//Hacer lo que se quiera
}
button.setOnClickListener(this);
...
}
3er método
- Creamos una nueva clase que extienda listener y la utilizamos:
private class MyListener extends Listener{
...
public void myFuncionPersonalizada(View v){
..
}
...
}
4º método
- Dado un botón (por ejemplo) definido en XML :
public void cambiarDeActivity(View v){
//Código necesario
}
<?xml version="1.0" encoding="utf-8"?>
<!-- Otros layouts -->
<Button android:id="@+id/mybutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Púlsame"
android:onClick="cambiarDeActivity" />
Muy importante pasar la vista como parámetro!
Este método es delicado ya que se va a buscar la función a la Activity.
Si se utilizan fragments, la función tendrá que estar definida en la activity que lo aloja!
Listeners
By marcos_perez
Listeners
- 764