Switch を使用するAndroid
アプリケーションを作成しています。
変更をリッスンし、変更時に値を取得しようとしています。
スイッチを使用する場合、2つの質問があります。
action listener
使用しますか?switch
値を取得するにはどうすればよいですか?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
}
}
ヒント:isChecked
は新しいスイッチ値[true
またはfalse
]であり、古い値ではありません。
CompoundButton
( docs )から拡張されるため、 setOnCheckedChangeListener()
を使用して変更をリッスンできます。 isChecked()
を使用して、ボタンの現在の状態を取得します。
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..
}
}
});
これで問題が解決することを願っています