※Swithcは、Android4.0(API level 14)以上から使用できます。
今回は状態がONになった時にメッセージを表示するサンプルを作ってみました。
まずはActivityにToggleButton、Switchを配置し、それぞれのonClick属性にオンクリックメソッドを設定します。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ToggleButton android:id="@+id/tglOnOff" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="115dp" android:text="ToggleButton" android:onClick="onToggleButtonClicked" /> <Switch android:id="@+id/swtOnOff" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tglOnOff" android:layout_centerHorizontal="true" android:layout_marginTop="72dp" android:text="On/Off" android:onClick="onSwitchClicked" /> </RelativeLayout>
次にActivityでオンクリックメソッドを実装します。
public void onToggleButtonClicked(View view) { ToggleButton tglOnOff = (ToggleButton) view; if (tglOnOff.isChecked()) { // ON状態になったとき Toast.makeText(getApplicationContext(), "ToggleButtonがONになりました。", Toast.LENGTH_SHORT).show(); } } public void onSwitchClicked(View view) { Switch swtOnOff = (Switch) view; if (swtOnOff.isChecked()) { // ON状態になったとき Toast.makeText(getApplicationContext(), "SwitchがONになりました。", Toast.LENGTH_SHORT).show(); } }見てわかる通り、ON状態(isCheckedがtrueを返すとき)になったときにメッセージを表示しています。
ActivityにToggleButtonとSwitchはそれぞれ1つのみなので、getId()による識別処理は行っていません。
実際に動作させたときにキャプチャがこちら。