I have 4 ToggleButton
s set up in an OnCheckedChangeListener()
.
ToggleButton
1 is activated on startup and the listener is set so that when you press another ToggleButton
within the checker, it deactivates the first button and then activates the button that you clicked.
However, when I click a ToggleButton
that is already activated, it deactivates itself which is not what I want.
I want to know, is there a way of doing this so that an activated ToggleButton
can only be deactivated by pressing one of the other ToggleButton
s with the checker?
This Is what I have But It Doesn't seem to work.
OnCheckedChangeListener toggleChangeChecker = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
if (buttonView == one) {
one.setChecked(true);
two.setChecked(false);
three.setChecked(false);
four.setChecked(false);
}
if (buttonView == two) {
one.setChecked(false);
two.setChecked(true);
three.setChecked(false);
four.setChecked(false);
}
if (buttonView == three) {
one.setChecked(false);
two.setChecked(false);
three.setChecked(true);
four.setChecked(false);
}
if (buttonView == four) {
one.setChecked(false);
two.setChecked(false);
three.setChecked(false);
four.setChecked(true);
}
}
}
};
You could use if(yourButton.isChecked()) yourButton.setChecked(true);
inside your OnCheckedChangeListener, guess that would do the trick.