【Android5.0.0】SwitchビューのOn / Off 状態の変化を受け取るリスナークラス
自作アプリを作っていてSwitchのOn / Offの切り替え時に特定の動きをさせたかったので、
調査したことをメモ。
ソース
public class MainActivity { private Switch mSwitch = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mSwitch = (Switch)findViewById(R.id.switch); //mSwitchの状態が変化した際のリスナ mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(mSwitch.isChecked()) { //mSwitch : Off -> On の時の処理 } else { //mSwitch : On -> Off の時の処理 } } }); } }
もともとOn -> Offの時のみ特定の動作をさせるということをしたかったのですが、
これで必要十分かな。
※一応書いておきますが、実際に利用する際にはxmlファイルからSwitchを配置するようにしてくださいね。
参考サイト
ぼやき
にしてもLollipopになってからSwitch UIのデザインがわかりづらくなったように感じます。
(僕だけかな?)
特にshowText属性をOnにした時の気持ち悪さはなかなかのものです。
あのまま使うのはかなり気が引けるので、近々その辺もいじりたいなぁ・・・