2011-08-22 16 views
17

Necesito poder acceder al estado de un ToggleButton viendo cómo no hay forma de crear métodos para el estado específico de un ToggleButton. Así que aquí es donde estoy hasta ahora:obtener el estado de ToggleButton a través del controlador

ToggleButton syncSwitch = (ToggleButton)findViewById(R.id.toggleButton1); 
syncSwitch.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View view){ 
     Toast.makeText(getApplicationContext(), "Click!", Toast.LENGTH_SHORT).show(); 
    } 
}); 

Ahora todo lo que necesito es algún tipo de método booleano que puede decirle al manejador del estado de la ToggleButton.

+0

syncSwitch.isChecked() no ayuda? – ruhalde

+0

ver mi comentario sobre la respuesta de Nikolay – nkcmr

Respuesta

34

¿Qué quiere decir con 'crear métodos para el estado específico'? Puede obtener el estado usando isChecked().

+0

bien, eso es raro. tu * eres * correcto pero he estado subiendo y bajando los documentos de ToggleButton y no vi eso. – nkcmr

+2

A veces los métodos están ocultos porque se heredan de otras clases. De todos modos, la documentación realmente apesta, isChecked() está en android.widget.CompoundButton – ruhalde

+0

No llegaría tan lejos como para decir que apesta. Solo tiene que hacer clic en el enlace 'Métodos heredados', y hay una interfaz muy acertada llamada 'Comprobable' en la lista. Los detalles están ocultos de manera predeterminada, pero esa es una característica, ya que la jerarquía de herencia para los widgets de UI puede ser bastante profunda. –

8

también se puede comprobar mediante el uso de togglebtn.setOnCheckedChangeListener oyente como este

ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle); 
toggle.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

@Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       Toast.makeText(getApplicationContext(), 
         String.valueOf(buttonView.isChecked()), Toast.LENGTH_SHORT).show(); 
      } 
     }); 

Espero que esto ayude.

Cuestiones relacionadas