2011-08-22 27 views
17

Devo essere in grado di accedere allo stato di un ToggleButton vedere come non c'è modo di creare metodi per lo stato specifico di un ToggleButton. Così qui è dove sono a finora:ottiene lo stato di ToggleButton tramite handler

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(); 
    } 
}); 

Ora ho solo bisogno di un certo tipo di metodo booleano che può dire il gestore lo stato del ToggleButton.

+0

syncSwitch.isChecked() non aiuta? – ruhalde

+0

vedere il mio commento sulla risposta di Nikolay – nkcmr

risposta

34

Cosa intendi con 'creare metodi per lo stato specifico'? È possibile ottenere lo stato utilizzando isChecked().

+0

ok, è strano. hai * ragione * ma sono stato su e giù per i documenti di ToggleButton e non l'ho visto. – nkcmr

+2

Talvolta i metodi sono nascosti perché sono ereditati da altre classi. Ad ogni modo quella documentazione fa davvero schifo, isChecked() è sotto android.widget.CompoundButton – ruhalde

+0

Non mi spingerei così lontano da dire che fa schifo. Devi solo cliccare sul link 'Metodi ereditati', e c'è un'interfaccia 'Controllabile' con un nome appropriato nell'elenco. I dettagli sono nascosti per impostazione predefinita, ma questa è una funzionalità poiché la gerarchia dell'eredità per i widget dell'interfaccia utente può essere piuttosto profonda. –

8

è anche possibile controllare utilizzando togglebtn.setOnCheckedChangeListener Listener come questo

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(); 
      } 
     }); 

Spero che questo aiuti.

Problemi correlati