2012-05-14 11 views
32

Switch'u kullanan bir Android uygulaması oluşturuyorum. Değişiklikleri dinlemeye ve değiştiğinde değeri almaya çalışıyorum. Anahtarları kullanırken iki sorum var:Android Anahtarı bir anahtardan doğru şekilde nasıl alabilirim?

  1. action listener Ne kullanıyorsunuz?
  2. switch değerini nasıl alabilirim? o CompoundButton (docs) uzanan yana
+0

Anahtar nasıl bir görünümdür? – JoxTraex

+1

Bir "ToggleButton" veya bir "Checkbox" anlamına gelmesi gerektiğini düşünüyorum, ancak "switch-statement" etiketi beni kafa karıştırıyor, çünkü bir nedenle "switch (int v) {}" 'ye atıfta bulunabiliyor çünkü –

+4

@ JoxTraex no api 4.0'da bir "Switch" var – stackoverflow

cevap

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 
    } 
} 
İlgili konular