I'm creating a Android
application which uses a Switch.
I'm trying to listen for changes and get the value when changed.
I have two questions when using switches:
- What
action listener
do I use? - How do I get the the
switch
value?
I'm creating a Android
application which uses a Switch.
I'm trying to listen for changes and get the value when changed.
I have two questions when using switches:
action listener
do I use?switch
value?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
}
}
Hint: isChecked
is the new switch value [true
or false
] not the old one.
Since it extends from CompoundButton
(docs), you can use setOnCheckedChangeListener()
to listen for changes; use isChecked()
to get the current state of the button.
Switch switch = (Switch) findViewById(R.id.Switch2);
switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
...switch on..
} else {
...switch off..
}
}
});
i hope this will solve your problem