2012-05-14 23 views
32

Estoy creando una aplicación para Android que usa un Switch. Estoy tratando de escuchar los cambios y obtener el valor cuando los cambio. Tengo dos preguntas cuando uso interruptores:Android ¿Cómo obtengo el valor de un Switch correctamente?

  1. ¿Qué uso utilizo action listener?
  2. ¿Cómo obtengo el valor switch?
+0

¿Qué es un interruptor? – JoxTraex

+1

Creo que debe significar un 'ToggleButton' o un' Checkbox', pero la etiqueta 'switch-statement' me está confundiendo, ya que puede estar refiriéndose a un' switch (int v) {} 'por algún motivo –

+4

@ JoxTraex no, tengo un 'Switch' en la api 4.0 – stackoverflow

Respuesta

63
Switch s = (Switch) findViewById(R.id.SwitchID); 

if (s != null) { 
    s.setOnCheckedChangeListener(this); 
} 

/* ... */ 

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
    Toast.makeText(this, "The Switch is " + (isChecked ? "on" : "off"), 
        Toast.LENGTH_SHORT).show(); 
    if(isChecked) { 
     //do stuff when Switch is ON 
    } else { 
     //do stuff when Switch if OFF 
    } 
} 
46

Puesto que se extiende desde CompoundButton (docs), puede utilizar setOnCheckedChangeListener() para escuchar los cambios; use isChecked() para obtener el estado actual del botón.

Cuestiones relacionadas